Futures Trading 5.0.4
15 January 2025
MAJOR IMPROVEMENTSTRADING INTERFACENEW FEATURESPERFORMANCE OPTIMIZATIONWEBSOCKET IMPROVEMENTS
Futures v5.0.4 - Advanced Trading Interface & Professional Experience
Release Date: January 15, 2025
Tags: MAJOR IMPROVEMENTS, TRADING INTERFACE, NEW FEATURES, PERFORMANCE OPTIMIZATION, WEBSOCKET IMPROVEMENTS
Added
Advanced Stop Loss & Take Profit System
- Added a dual input system allowing traders to enter either a percentage or a direct price, with automatic synchronisation between the two.
- Added pre-set percentage buttons for rapid stop-loss and take-profit configuration — 1%, 2%, 5% and 10% for Stop Loss; 2%, 5%, 10% and 20% for Take Profit.
- Added a risk/reward ratio calculator with instant P&L estimations and net potential calculations.
- Added colour-coded risk badges (Low / Medium / High) based on the risk/reward ratio.
- Added direction-aware calculations that adjust automatically for long versus short positions, with proper percentage direction handling.
- Added card-based layouts with colour-coded sections — red for Stop Loss, green for Take Profit — and icons.
Enhanced Order Management
- Added a complete redesign of both the market and limit order forms, with card-based layouts and input validation.
- Added a leverage slider carrying real-time position value, margin requirements and fee estimations.
- Added $100, $500, $1000 and $5000 quick selection buttons for rapid position sizing.
- Added percentage-based price adjustment buttons (-1%, -0.5%, +0.5%, +1%) for precise limit order pricing.
- Added live position value, margin, liquidation price and fee calculations that update as inputs change.
- Added user-friendly error messages, cleared automatically.
Professional Trading Experience
- Added success messages that clear themselves after three seconds.
- Added animated loading indicators during order submission, with the submit button disabled while it runs.
- Added prominent futures trading risk disclaimers.
- Added a fully responsive interface across desktop, tablet and mobile.
- Added styling consistent with the spot trading interface, with dark and light mode support.
- Added full translation coverage for all new features.
Advanced Position Management
- Added real-time profit and loss estimation from the stop loss and take profit levels, with leverage accounted for.
- Added a net potential outcome — profit minus loss — with colour-coded indicators.
- Added live position value including margin requirements, fees and total exposure.
- Added a risk scoring system that evaluates a trade setup and gives guidance on its risk level.
- Added a breakdown of position metrics including margin utilisation, fee impact and potential returns.
Futures Balance And Order Panels
- Added a balance display showing the current price, the funding rate with a countdown timer, available margin balance and unrealised P&L, integrated with futures margin wallets.
- Added separate order forms for market and limit orders, carrying leverage sliders, position value calculations, liquidation price estimates, stop-loss and take-profit inputs, quick amount buttons and real-time fee calculations.
- Added a position information panel showing position value, margin requirements, estimated liquidation price and trading fees.
Changed
Futures Trading Interface
- Changed the futures trading interface to match the spot trading interface, replacing the basic layout with a tabbed interface carrying Market and Limit order types alongside a balance display.
- Changed the leverage system to use a visual slider, take the maximum leverage from the market's own metadata, and calculate liquidation prices in real time from position size and leverage.
- Changed order submission to report failures and successes clearly, reset the form after a successful order, and refresh the wallet balance afterwards.
- Changed colour, spacing, typography and responsive behaviour to match the spot trading interface.
Futures Market Display
- Changed leverage parsing so a value such as "1,20,50,125" is read correctly and the maximum available leverage is shown, with improved funding rate formatting and handling of missing data.
- Changed the market list item to carry clearer indicators, highlight the funding rate, and present cleanly when market data is unavailable.
- Changed chart symbol formatting to derive the base and quote from the pair itself rather than a hard-coded currency list, so every trading pair is supported.
- Changed all market symbols to a single
BTC/USDTstyle format across WebSocket endpoints, API endpoints and the interface, for both spot and futures markets.
Risk Warning Placement
- Changed the risk disclosure to appear once. The duplicate warning in the main futures interface is gone; the detailed warning in the order forms stays.
Chart Performance
- Changed repeated chart warnings to be throttled to once every five seconds per unique condition, instead of flooding the console.
- Changed the animation loop to exit when data is invalid rather than retrying continuously.
- Changed old warning entries to be cleaned up automatically, so they no longer accumulate in memory.
- Changed the early exit conditions so animation frames are not requested for invalid data.
- Changed chart error reports to state the data length, the dimensions and whether a market switch was in progress.
Fixed
Trading System
- Fixed futures markets not showing in the trade markets panel. The market service expected a wrapped API response, but the futures market endpoint returns its data directly.
- Fixed chart errors when a market returns no data, including "Cannot read properties of undefined", so a market with no trading data is handled gracefully.
- Fixed chart data processing crashing on invalid or malformed data arriving on a WebSocket stream.
- Fixed a "Cannot read properties of undefined (reading 'startsWith')" error while processing chart stream data, by validating the structure and content of each message.
- Fixed a blank chart area when no chart data is available; an empty-state overlay with a readable message is shown instead.
- Fixed errors in the TradingView chart when a WebSocket stream carried empty or invalid candle data.
- Fixed TradingView chart data processing crashing when a market has no trading data, by validating API responses, stream messages and individual candles.
- Fixed chart data fetching failing with a "Not Found" parsing error that prevented charts from initialising.
- Fixed over-strict validation of chart data that was itself causing incompatibility with the charting library.
- Fixed errors raised inside the charting library — while it is becoming ready, resolving a symbol, fetching bars or receiving a real-time update — propagating into the rest of the application.
- Fixed a failed chart data request throwing rather than returning empty data, which prevented the chart from initialising.
- Fixed a 404 response from the API being parsed as JSON, so chart components keep working when data is unavailable.
- Fixed unnecessary symbol format warnings filling the console; symbol formatting is already handled when the request is built.
- Fixed futures markets not updating with live ticker data, by handling both bulk and individual ticker message formats.
- Fixed futures markets other than the one being viewed receiving no live updates, by subscribing to both the bulk and the individual ticker streams.
- Fixed the futures ticker returning empty data and undefined symbols. The matching engine now includes every market rather than only those with trading activity, and symbols are built from the currency and pair — MASH plus USDT becomes MASHUSDT.
- Fixed the orderbook subscribing and unsubscribing in a loop, and resubscribing needlessly when the aggregation level changed.
- Fixed the orderbook showing a loading spinner when there are no bids or asks; it now says so.
- Fixed an infinite loop in the chart animation system that caused constant re-rendering.
- Fixed the chart animation logging thousands of "Skipping chart render due to invalid data or dimensions" messages.
- Fixed a chart error caused by a value being read before it had been set up.
Market Data Subscriptions
- Fixed futures symbols being sent to spot exchange WebSocket endpoints.
- Fixed cross-contamination between spot and futures subscriptions, by validating the market type in the markets panel.
- Fixed active subscriptions being left in place when switching between the spot and futures tabs.
- Fixed subscriptions being created for symbols that do not appear in the relevant market list.
- Fixed subscription routing, so futures symbols go to futures endpoints and spot symbols to spot endpoints.