CUSTOM TRADING SOFTWARE DEVELOPMENT
FX NOVA BOT · ORDER FLOW & LIQUIDITY

Order Book Liquidity & Heatmaps

Large limit orders can reveal where visible liquidity is concentrated, but a wall in the order book is not automatically support, resistance or a trade signal. A systematic bot needs to measure size, persistence, cancellation, execution and the market's reaction.

TOPIC  Order BookFOCUS  Liquidity PersistenceFLOW  Detect · Track · Confirm

Three different views of market activity

A useful order-flow workflow separates three kinds of information. Executed trades describe what has already happened. The live order book describes visible resting liquidity now. A heatmap or order-book history adds the missing time dimension by showing how that liquidity appeared, persisted, moved or disappeared.

Cluster / Footprint

Shows executed volume at price and can expose areas of concentrated trading activity, imbalance or absorption research.

Order Book

Shows currently visible bid and ask liquidity waiting at different prices, subject to exchange feed and depth limitations.

Heatmap History

Tracks how displayed liquidity changes through time, allowing persistence, movement and cancellation behavior to become measurable.

Price Reaction

Tests whether the market actually responds when price approaches or trades through the identified liquidity area.

A large order is an observation, not a signal

Seeing an unusually large sell order above price can be interesting, but the bot should not immediately translate it into SELL. Displayed liquidity can be cancelled, moved, partially executed or replenished. It may influence price—or have little lasting effect.

Core principle

Large limit order detected → normalize size → track persistence → observe behavior near price → confirm reaction → create trade intent → pass risk gate.

Normalize size before calling an order “large”

A fixed threshold is rarely enough. A 500,000-unit order can be exceptional in one market and ordinary in another. The system should compare displayed size with local depth and recent order-book behavior.

Possible features include order size divided by median depth at nearby levels, percentile rank versus recent visible orders, distance from mid-price, concentration across adjacent price levels and the ratio between bid-side and ask-side depth.

RELATIVE WALL SIZE = DISPLAYED SIZE ÷ NORMAL DEPTH AT COMPARABLE LEVELS

Persistence adds information that a snapshot cannot

A single order-book snapshot answers only: “What is displayed now?” A heatmap can answer a more useful question: “How has this liquidity behaved over time?”

A bot can record when a large order first appeared, how long it remained visible, whether its size changed, whether it moved as price approached and whether it survived repeated interactions with the market.

PERSISTENT

The order remains near the same level for a meaningful observation period.

PULLED

The displayed liquidity is cancelled before meaningful execution.

MOVED

The order repeatedly changes price, potentially following or avoiding the market.

EXECUTED / ABSORBED

Trades occur against the level and the system measures whether liquidity is consumed, replenished or followed by rejection.

A pulled wall is not automatically spoofing

Large orders can disappear for many reasons. Cancellation alone does not establish the trader's intent, so an automated system should not label every disappearing wall as spoofing.

Instead, the bot can describe observable behavior: the order appeared, persisted for a measured period, moved, was reduced or was cancelled as price approached. Repeated patterns can become research features without claiming knowledge of the participant's motive.

Liquidity becomes more useful when price approaches it

A large resting order far from the current market may never matter. As price approaches the level, the system can increase observation resolution and evaluate what actually happens.

DETECTED WALL → PRICE APPROACH → WALL HOLDS / MOVES / PULLS → TRADES EXECUTE → PRICE REACTS / BREAKS

The distinction between displayed liquidity and executed liquidity is important. A visible wall that disappears before contact provides different information from a level where aggressive market orders repeatedly trade into resting liquidity without moving price through it.

From liquidity zone to support or resistance hypothesis

Order-flow data can identify a candidate zone, but support or resistance should be treated as a hypothesis to validate. The bot can combine visible liquidity with previous traded volume, market structure and the reaction after contact.

A stronger candidate might contain several independent observations: unusual resting depth, persistence over time, prior executed volume, structural relevance and a measurable rejection after price reaches the area.

What does absorption look like to an algorithm?

Absorption is often described visually, but automation requires explicit measurements. One possible research model looks for substantial aggressive traded volume at a level while price makes limited progress through it.

The system can track executed volume, price displacement, replenishment of resting liquidity and subsequent movement. No single threshold proves absorption; the objective is to convert the concept into reproducible features that can be tested.

Order-book imbalance needs context

A large imbalance between visible bids and asks can change quickly. It can also be affected by how much depth the data feed exposes. For that reason, imbalance is generally more useful as one contextual feature than as a standalone directional prediction.

Order-book imbalance + persistence + structural location + executed flow + confirmed price response is a richer evidence set than imbalance alone.

Build a liquidity-event state machine

A production bot can represent each candidate liquidity area through explicit states:

DETECTED → VALIDATED → APPROACHING → INTERACTING → HELD / BROKEN / PULLED → EXPIRED

Do not let the order-flow layer place trades directly

The liquidity detector should produce structured evidence or a trade intent—not send an order by itself. Market regime, strategy rules and risk controls still need to approve exposure.

ORDER FLOW → SETUP → TRADE INTENT → RISK ENGINE → PORTFOLIO GATE → APPROVED ORDER

This separation makes the system easier to test and prevents one unusual order-book event from bypassing account-level protection.

Testing one strategy across 100 trades

A fixed-rule series of 100 trades is a useful validation idea because it discourages changing the strategy after every win or loss. But the number 100 is not a guarantee of statistical significance, and win rate alone is not enough to evaluate the result.

For example, an early sample of 12 winners and 2 losers may look impressive, but it is still only 14 observations. The eventual evaluation should include the size of winners and losers, costs, drawdown and the consistency of execution.

Freeze rules → Record every qualified setup → Execute consistently → Include fees and slippage → Measure expectancy and drawdown → Review only after the predefined sample or review point.

Metrics that matter more than win rate

Expectancy

Average amount expected per trade after combining win probability with average win and average loss.

Profit Factor

Gross profit divided by gross loss, evaluated together with sample size and distribution.

Maximum Drawdown

The largest peak-to-trough decline observed during the test.

Execution Costs

Fees, spread and slippage that can materially change a small theoretical edge.

EXPECTANCY = (WIN RATE × AVG WIN) − (LOSS RATE × AVG LOSS) − COSTS

Data limitations matter

Order-book analysis is only as complete as the available feed. Crypto liquidity is fragmented across venues, displayed orders can change rapidly, and the visible book does not represent every participant's intentions or every source of liquidity.

A bot should therefore log exchange, instrument, depth coverage, timestamps and data gaps. Results from one venue should not automatically be interpreted as a complete map of the entire crypto market.

What should a production liquidity detector log?

From visual heatmap to testable trading logic

The goal is not to teach a bot to stare at bright bands on a heatmap. The goal is to translate visible liquidity behavior into measurable features with explicit state transitions.

Large orders become more informative when the system knows how unusual they are, how long they persist, what happens as price approaches, whether they execute or disappear, and how price behaves afterward. That turns discretionary observation into data that can be validated.

ORDER-FLOW AUTOMATION

Want liquidity and order-flow logic built into a trading bot?

FX Nova Bot develops custom trading software with market-data processing, strategy state, risk controls, execution logic, persistent state, monitoring and auditable decision flows.

Cluster Volume & Order Flow → Discuss the project →

Educational and software-engineering information only. Order-book and order-flow features are analytical models, not guarantees of price behavior or profitability. Automated trading involves financial risk.

FX Nova Bot
MT5 • Forex • Crypto