In this article
After this article, you can
- Reconcile a level’s state with executions, cancellations and additions.
- Separate a visible-quantity change from executed volume.
Terms at hand: Liquidity · Order execution · OTC market (over-the-counter) · bid and ask (bid-ask prices) · Stop loss · Relative Strength Index (RSI)
Imagine a hypothetical support break accompanied by aggressive selling in a particular venue’s trade data. A later recovery may prompt an absorption hypothesis, but a footprint does not identify a hidden institutional buyer or prove the next move. This article explains order-flow data scope and the difference between resting quantity and completed trades; no verified event on 13 March 2023 is asserted.
What order flow actually is
Order-flow analysis can examine executed trades, resting orders or quote updates. These are different events: a quote change does not establish an executed quantity, and displayed order size does not identify the owner or purpose. Classical price and volume analysis can also update in real time; “after” versus “during” is not the defining distinction.
State the instrument, venue, feed and event types first. DOM can display resting or quoted quantities, Time & Sales covers supplied executions, and a footprint groups classified volume inside bars. Volume Profile groups activity by price across a selected window. Classification and coverage vary by source; none automatically represents the global spot market.
Why forex is harder than equities or futures
Spot FX is decentralized, so one provider’s feed does not aggregate every global transaction. Exchange-listed instruments can also trade across multiple venues; a listing venue is not automatically the sole execution venue. Establish which venue, instrument and event types the dataset covers before interpreting its order book or tape.
An OTC depth display depends on what the broker supplies: it may show liquidity-provider quotes, configured price levels or other available information. It is not automatically a complete book of the broker’s clients, and it is not a global FX book. For an exchange symbol, distinguish displayed resting orders from Time&Sales executions. Two snapshots alone cannot reconstruct turnover.
A book reduction does not reconstruct executed volume
Two snapshots of one level show a quantity difference. Turnover accounting also needs the individual events.
Scroll sideways to see the full diagram
Entirely fictional record of one book level in arbitrary quantity units. Start 100; executed 30, cancelled 10, added 20. Events are complete, distinct and supplied in this order. No other levels, price changes or hidden quantity. This model does not describe every OTC DOM or global FX. The document MetaTrader 5 — Depth of Market supports the distinction between resting offers in DOM and reported executions in Time& Sales, and differences between exchange and OTC data scope.
Record final quantity, executions, cancellations and additions separately. Reconciliation to 80 confirms this model's completeness, but snapshots 100 and 80 alone permit many other sequences. Do not assign disappearing volume to an aggressor solely because it left the screen.
Depth of market — how to read the DOM ladder
DOM displays bid and ask levels and, where supplied, the quantity offered at each level. A resting bid is willingness to buy at that price; lifting an ask is an aggressive buy against a resting offer. Aggregated quantity does not establish the identity or motive of an institution.
A large visible quantity can change through execution, cancellation or addition. Its size does not prove an institution’s presence, a price floor or manipulative intent. In a hypothetical FIFO queue, 100 units wait before your passive buy of 20, with 100 behind. Incoming selling of 80 gives you no fill. Cancel 70 ahead first and your 20 fill after the first 30; cancel 70 behind instead and your fill remains zero. Both cancellation cases reduce visible size from 220 to 150. Queue position, not just the total, changes the result. This assumes FIFO and complete event data, not every OTC product’s allocation rules.
The footprint chart — who was the aggressor
A footprint can divide supplied executed volume by price and classification inside a bar. Specify whether the feed reports aggressor direction or the software estimates it. MT5 can leave exchange-trade direction undefined when a trade falls between Bid and Ask. NinjaTrader’s documented BidAsk and UpDownTick modes follow different rules and require suitable historical data; its Volumetric Bars are not supported on Forex spot data.
In a hypothetical five-minute trade record for a specified venue, 500 contracts classified at Ask versus 100 at Bid give a five-to-one ratio under that classification. Heavy buying at Ask with little upward price progress can motivate a sell-side absorption hypothesis; trading at Bid instead records aggressive selling. The record does not identify participants, hidden orders or intent, and does not establish that a reversal will follow.
Volume Profile — activity grouped by price
A volume profile requires a specified source, window and row construction. TradingView’s documentation uses lower-timeframe bars and distinguishes trade volume, tick volume and crypto base/quote volume. For Forex it describes tick-volume inputs, and its up/down partition follows bar direction rather than independently reported aggressor-side volume.
POC is the row with the greatest activity under the chosen profile calculation, not a guaranteed magnet or fair-value estimate. Value-area boundaries depend on a chosen percentage and row-selection procedure; 70% is a common setting rather than a physical market law. Check the exact algorithm instead of assuming the selected rows must contain exactly that percentage.
A return to a past POC, a break of a value-area boundary or a revisit of an untouched prior POC can be separately defined hypotheses. Record the trigger, observation time, exit and costs before evaluating them. The descriptive profile does not establish that continuation is more common than failure or that price must return.
Retail tools — from TradingView to NinjaTrader
When selecting a tool, verify the event data and its coverage before comparing the subscription. TradingView’s documented Volume Profile uses lower-timeframe inputs and, for Forex, tick counts. This is a different dataset from venue-reported executions. A paid plan alone does not establish data accuracy, a complete book or a trading edge.
NinjaTrader’s Volumetric Bars documentation specifies BidAsk versus UpDownTick classification, aggregation per price level and data requirements. That is useful when checking a proposed footprint. For NinjaTrader, Sierra Chart or another application, confirm current version, data connection, entitlement, market-depth history and total fees with the vendor; no price ranking or universal industry standard is established here.
A heatmap or ladder visualises the supplied events; it cannot itself establish a participant’s identity or the reason an order disappears. Reconcile additions, cancellations and executions rather than treating a brighter area as proof of institutional intent.
Practical use and limits
A currency futures feed describes its contract and venue. A spot feed describes its own source; matching currency labels does not supply a constant correlation, identical prices or complete global spot coverage. If you use both, align quote convention, clocks and contract dates, and record which series supplies each rule.
For a fully reproducible execution model, assume an unchanging EUR/USD ask book in USD per EUR: 40,000 EUR at 1.1001, 60,000 at 1.1002 and 100,000 at 1.1003. A buy of 150,000 EUR accepting all three prices takes 40,000, 60,000 and 50,000 respectively. Cost = USD 165,031; weighted mean = 1.10020667. Against an all-at-best-ask benchmark of USD 165,015, the difference is USD 16, or approximately 1.0667 pips of average price. One pip is 0.0001, fees are omitted, and no orders arrive or cancel during this synthetic match.
What to do next
Change only the synthetic order to a 1.1002 price limit with immediate partial execution and cancellation of any remainder: 100,000 EUR fill for USD 110,016, mean 1.10016; 50,000 EUR are cancelled. An all-or-none requirement is a different instruction. The original full sweep leaves 50,000 EUR at 1.1003; cancelling that remaining offer later adds no traded volume. A snapshot is not a promise that its quantities remain available when a real order arrives.
Start by checking what an event means and whether the supplied sequence is complete. The MT5 Forex Volumes indicator counts price changes, not traded currency. Two sources reporting 120 and 80 updates do not establish a 50% difference in cash turnover. Likewise, learning duration or a completed software subscription does not demonstrate an edge.
If this article caught your interest, two reading paths follow naturally. The first deepens the craft with concrete setups: order flow trading in practice, where we cover specific DOM and absorption strategies. The second widens the context around forex volume: volume in spot forex and the comparison of CME futures versus the spot market. Together, those three pieces form a tight toolkit for reading the market the way professionals read it — not from the level of the chart, but from the level of the mechanics that produces it.
Check your understanding
One short exercise
About 2 min · you can try again
Execution 30, cancellation 10 and addition 20 reduce quantity 100 to 80. What is the executed volume in this model?
- 20: the difference between snapshots.
- 30: the quantity labeled execution.
- 40: execution and cancellation consumed the offer.
Check the answer and explanation
30: the quantity labeled execution.
Only the exchange of 30 creates turnover here. The other events change resting quantity without a trade.
Frequently asked
What is order flow and how does it differ from technical analysis?
It can examine supplied executions, resting orders and quote events, which need to be distinguished. A trade exchanges a quantity; cancellation changes a waiting offer without a trade; a quote update need not report a traded quantity. Data usually identifies instrument, price, time and event fields, rather than the participant’s full identity or intention. Price-chart analysis can also update in real time. Specify venue, feed and coverage before interpreting any view as order flow.
Why does spot forex not show a real order book, and can it be worked around?
Spot forex is decentralised, so a retail platform does not show one consolidated worldwide order book. Check what a particular depth-of-market feed contains. MetaTrader’s documentation distinguishes exchange-market orders from OTC depth derived from the broker’s quotes; it should not automatically be labelled the broker’s own client book. Centralised currency futures provide venue-specific order and transaction data, not the whole spot market. CFTC positioning reports likewise concern their defined US futures markets and categories. Tick counts describe the selected feed’s activity, not a guaranteed percentage of global turnover. Record the venue, instrument, feed and clock before interpreting any of these measures as order-flow evidence.
How does a footprint chart differ from Volume Profile?
A footprint groups supplied classified volume by price inside bars; a profile groups activity by price across a selected window. Specify the inputs and algorithm: NinjaTrader’s BidAsk and UpDownTick modes differ, while TradingView’s Forex profile uses tick volume and up/down bar classification. POC is a maximum-activity row under those settings, not a guaranteed price magnet. These views do not prescribe universal holding times or establish fair value.
Does it make sense for a retail trader with €5,000 to learn order flow?
The account amount alone does not establish suitability, a data budget, learning duration or an edge. You can first reconcile synthetic event records and reproduce weighted fills without taking a live position. Before considering a real instrument, verify its contract, tick value, margin and risk, plus the actual provider, residence eligibility, data entitlements and current costs. No quoted software tariff or six-to-twelve-month outcome is assumed here.
Sources & bibliography
-
Mike Bellafiore One Good Trade — Inside the Highly Competitive World of Proprietary Trading · Wiley, 2010. www.wiley.com ↗
-
CME Group FX futures and order book data · CME information about FX futures, including the euro FX contract. www.cmegroup.com ↗
-
BIS Triennial Central Bank Survey 2022 · The 2022 survey describes the structure of global foreign-exchange markets. www.bis.org ↗
-
TradingView Volume Profile Indicators — basic concepts · Official platform documentation explains Volume Profile concepts and the indicator's construction. www.tradingview.com ↗
-
NinjaTrader Order Flow Trading — charts and analytics · Describes NinjaTrader's Order Flow+ tools, including footprint charts, depth of market and volume profiles. ninjatrader.com ↗
-
BIS FX trade execution: complex and highly fragmented · December 2019 analysis of fragmented FX execution, bilateral and venue methods and dealer internalisation. Historical statistics are not stated as current 2026 shares. www.bis.org ↗
-
MetaQuotes MetaTrader 5 Help — Depth of Market · Exchange versus OTC depth, broker-supplied quotes, executions in Time & Sales and possible estimated or undefined trade direction. www.metatrader5.com ↗
-
CME Group How CME Group Ag Markets Operate · CLOB additions/cancellations/executions and FIFO versus other matching algorithms. The article’s EUR/USD sweep and queue figures are synthetic, not agricultural rules applied universally to OTC Forex. www.cmegroup.com ↗
