Aggressive market orders vs passive limit orders
Every trade has two sides. A passive trader posts a limit order and waits in the order book: buy limits form the bid, sell limits form the ask, as covered in order types. An aggressive trader sends a market order, or a limit priced through the market, and takes that liquidity. Aggressive buyers lift the ask; aggressive sellers hit the bid.
Price moves when aggression uses up the passive orders at a price. In the figure, the ask shows 300 at 50.01, 400 at 50.02 and 350 at 50.03. A market buy for 900 takes all of 50.01 and 50.02 and 200 of the 350 at 50.03, so the last price jumps three cents. Passive orders decide where price can stop; aggressive orders decide whether it moves. The gap between the best bid and the best ask is the bid-ask spread.
- Bid
- The highest price a passive buyer is offering; aggressive sellers trade there.
- Ask (offer)
- The lowest price a passive seller will accept; aggressive buyers trade there.
- Aggressor
- The side that crossed the spread with a market order and caused the trade.
- Liquidity
- The resting limit orders available to trade against at each price.
Bid/ask volume, delta and cumulative delta
Order flow tools sort every trade by its aggressor. Volume at the ask counts buyer-initiated trades; volume at the bid counts seller-initiated ones. Delta is the difference: ask volume minus bid volume, per price, per bar or per session.
In the figure at the top of the page, the first bar traded 614 contracts at the ask and 1,087 at the bid, a delta of −473: sellers were more aggressive. Cumulative delta, often shown as CVD, adds each bar’s delta to a running total: −473, then −1,733 after the second bar, then −488 after the third. That lets you compare the trend of aggression with the trend of price.
Read delta against price, never alone. Positive delta with rising price is ordinary. Strongly negative delta while price refuses to fall is unusual and worth attention, because sellers are spending effort without result; the same goes for a new price high on falling cumulative delta, a divergence like the ones in RSI divergence. And remember that every trade has a buyer and a seller: delta measures who was in a hurry, not who bought more.
How to read a footprint chart
A footprint chart opens each candle and shows the volume traded at every price inside it, usually as two numbers per row: bid volume on the left, ask volume on the right. Under the candle it shows the bar’s delta and total volume. Think of it as a volume profile for a single bar, split by aggressor.
Read the figure at the top from left to right. The first bar falls from 5,002.00 to 5,000.50 with sellers dominant in almost every row. The second bar trades down to the level at 5,000.00 and prints 640 and 820 contracts at the bid in its two lowest rows, the largest numbers on the chart, yet the low holds and the bar closes back at 5,000.50. The third bar rises to 5,002.00 with buyers dominant, including three rows where ask volume is more than four times the bid volume diagonally below.
Scan three things in every footprint: where the largest volume sits in the bar (its own point of control), whether delta agrees with the bar’s direction, and what happens at the bar’s extremes, where very little volume can mean the move simply ran out of participants. Pair what you see with how to read volume on the bigger chart.
Imbalances and stacked imbalances
An imbalance is a price where one side’s aggression clearly outweighs the other. Because a buyer lifting the ask at one price trades against sellers resting one tick above the best bid, footprint tools compare diagonally: ask volume at a row against bid volume one row lower for a buy imbalance, and bid volume at a row against ask volume one row higher for a sell imbalance.
The threshold is a setting. TradingView’s Volume Footprint uses 300% by default: a buy imbalance when ask volume is at least three times the bid volume one row below. In the third bar of the example, 340 against 70, 420 against 95 and 380 against 85 all pass; 260 against 110 does not. Imbalances in several adjacent rows form a stacked imbalance, which some traders treat as a zone of aggressive buying or selling that price may come back to.
Imbalances are common, especially in thin rows at a bar’s edges, where 30 against 5 already qualifies. Give weight only to imbalances with meaningful volume, at a level you planned, in the direction of the setup you are considering.
Absorption, exhaustion and iceberg orders
Absorption is aggression that fails. Sellers keep hitting the bid at a level, delta prints deeply negative, and yet price does not make a new low, because large passive buy orders soak up everything sold. In the figure at the top, the second bar sold 1,460 contracts into its two lowest rows and the low held at 5,000.00. Absorption shows that someone is defending a level, not for how long: when the defender stops buying, absorption turns into a breakdown.
Exhaustion is the opposite problem: the move runs out of aggressive participants. Each push to a new low draws less volume and smaller delta, the extreme row of the bar shows very little traded, and the next bar fails to follow through. Absorption is a wall; exhaustion is an empty tank.
Iceberg orders are one way absorption happens. Many exchanges, including CME Globex, accept orders that display only part of their size; when the visible part fills, the next part appears. On the order book you might see 50 contracts bid at 5,000.00 all morning while hundreds trade there. You cannot see an iceberg in advance; you infer it when traded volume at a price far exceeds what was ever displayed.
Futures vs stocks: why stock order flow is partial
Order flow is most complete in futures. Each contract, such as the E-mini S&P 500, trades on one exchange through one central order book, so every trade and every resting order passes through the same place, and CME’s market data marks the aggressor side of each trade. A footprint built from that feed sees the whole market. The futures trading for beginners lesson covers the contracts.
US stocks are different. The same share trades on more than a dozen exchanges and on off-exchange venues: wholesalers that fill retail orders and alternative trading systems, often called dark pools. According to Cboe’s review of 2025, off-exchange trading passed half of all US equity volume for the first time that year. Off-exchange trades are reported to the consolidated tape, but they never appear in an exchange order book, and their aggressor side has to be inferred from prices.
So a stock footprint is a partial, inferred picture: good enough to show large prints at a level, too incomplete to count every passive order or to trust small delta readings. Spot forex has no central exchange at all, and crypto volume is split across many venues, so the same caution applies there.
Order flow on TradingView: the Volume Footprint chart
TradingView added Volume Footprint as a chart type in May 2024. Select it from the chart type menu at the top of the chart; each candle then shows sell volume on the left and buy volume on the right of each price row, with the delta and total volume underneath. The settings offer Buy and Sell, Delta, Total and Ladder types, a Profile display mode, a value area, each bar’s POC, imbalance highlighting with a 300% default, and stacked imbalances.
Know how it classifies volume. TradingView’s help center explains that the footprint builds each bar from lower-timeframe bars and counts a lower-timeframe bar’s volume as buying if it closed above its open and as selling if it closed below; it does not read each trade’s aggressor. The finest intrabar data, 1 tick, is reserved for professional plans, and older candles fall back to coarser data (1 second, 1 minute, then 60 minutes), so historical footprints can differ from what you saw live; the help center also notes that the study can repaint. Dedicated futures platforms that read the exchange’s aggressor flag give a more exact count.
TradingView’s pricing page, checked in October 2026, lists Volume Footprint on the Premium and Ultimate plans. Plans change, so check before you subscribe, and see TradingView repainting for why recalculated history matters when you test.
A worked example: absorption at a level, combined with VWAP
Order flow is a trigger, not a map: it shows what is happening at a price you already care about. Here is a hypothetical long on a Micro E-mini futures contract, worth $5 per index point, in the steps below.
The levels can come from anywhere: profiles, prior highs and lows, VWAP, or a tool such as UpTickFlow, our invite-only TradingView indicator, which shows rare A+ setups at key levels with an entry, a stop and a target on 5-minute to 1-hour charts. It does not read order flow; the footprint is an extra check you add at the level yourself.
- Before the session, mark the levels: yesterday’s value area low at 5,000.00 from the volume profile, and today’s session VWAP, which sits near 5,008.00 by mid-morning. See the VWAP trading strategy.
- Price falls to 5,000.00 on a 3-minute chart. The footprint of the bar that reaches the level shows 640 and 820 contracts sold at the bid in its two lowest rows and a delta of −1,260, but no trade below 5,000.00: possible absorption.
- No entry yet. The next bar must confirm: it trades up from 5,000.25 to 5,002.00, prints a delta of +1,245 and three stacked buy imbalances between 5,001.00 and 5,001.50, and closes at 5,001.75.
- Entry: buy at 5,001.75 on the close. Stop: 4,998.75, three points below the entry and a point and a quarter below the absorbed low, beyond the noise of a retest. Risk: 3 points × $5 = $15 per contract, plus fees.
- Size: with a $150 risk budget, $150 ÷ $15 = 10 contracts. Target: VWAP at 5,008.00, 6.25 points away, about 2.1R.
- Management: if price returns into the stacked imbalance zone and the bid stops absorbing, with sellers pushing through 5,000.00 on negative delta, exit early instead of waiting for the stop.
- The failure branch: defenders can step away. If price trades through 5,000.00 and the stop at 4,998.75 fills, the loss is about $150 plus fees, more if price jumps past the stop. Log it with a screenshot of the footprint.
Limits and pitfalls of order flow trading
Order flow is detailed, fast and easy to over-read. The main traps are listed below; the cure for most of them is to write your definitions down before the session and to use order flow only at levels from your plan, together with relative volume and the bigger trend.
- Data quality: classification by intrabar direction, off-exchange prints in stocks and tick volume in forex and CFDs can all produce numbers that look precise and are not.
- Interpretation: the same footprint can read as absorption or as a slow breakdown until the next bars decide. Decide in advance how much delta, how many bars and how far beyond the level count.
- Two sides to every trade: heavy bid volume means sellers were aggressive, not that buyers lost; the passive side may be a larger, patient player.
- Disappearing liquidity: resting orders can be canceled before price reaches them, which is why traded volume is more reliable than displayed size.
- Speed and costs: footprint reading suits active short-term trading, where commissions, spreads and slippage weigh heavily, and small edges can vanish after costs.
- Context first: a perfect imbalance in the middle of nowhere means little.