Order Flow on TradingView: DOM, Delta, Footprint, Volume Profile
TradingView offers built-in Volume Footprint charts, Volume Delta, Cumulative Volume Delta, Volume Profile, and broker-connected Depth of Market. They describe different data. In particular, TradingView's footprint and delta tools classify volume using intrabar price movement; they should not be presented as a direct record of every trade's aggressor side.
What Each Tool Measures
An executed trade has a buyer and seller. Calling it a “buy” usually describes the aggressor or a classification rule, not the absence of a seller. A displayed bid is a resting purchase order; an aggressive buyer typically trades against an ask. Those meanings should not be reversed.
| Tool | Observation | Boundary |
|---|---|---|
| DOM | Displayed resting quantities at prices supplied by a connected broker | Not every hidden order or venue; orders can be changed or cancelled |
| Transaction tape | Executed prints available from the chosen provider | Coverage, batching, and side classification require verification |
| TradingView Footprint | Intrabar volume classified and distributed across price rows | An estimate based on price direction, not a participant-identity feed |
| Volume Delta / CVD | Signed intrabar volume, within a bar or accumulated across an anchor period | Results depend on the lower timeframe and reset settings |
| Volume Profile | Historical volume distribution across price levels | Describes past activity, not remaining limit orders |
Do not assume a community indicator named “Time & Sales” supplies an exchange's complete transaction tape. For example, the S_Codes publication describes a realtime display without stored history. Its existence does not establish a universal native tape panel or identical behavior across other scripts. Check the actual tool and feed before using individual displayed rows as individual trades.
Connect the DOM Through Your Broker
The official DOM instructions require a connected broker that supports Level 2 data. Open the trading panel, select Trade, and choose the DOM tab. The data comes from the broker and can differ from the chart feed. A chart subscription alone does not establish access to that broker's depth.
Check the exact instrument and contract, the supported exchange, data permissions, and whether the display updates during the session. An empty ladder may reflect an unsupported symbol or missing permissions rather than no market liquidity.
Use the ladder first for observation. Clicking its order cells can place orders. Large displayed quantities are not guaranteed support or resistance: a cancellation is different from an execution, and a disappearing bid alone does not prove spoofing or institutional intent.
Configure the Built-in Volume Footprint
Select Volume Footprint in the chart-type menu. Community scripts are optional, not the only route. The official calculation guide explains that lower-timeframe price direction determines buy/sell categorization and that older history can use coarser intrabars.
Record the row size, display type, and imbalance threshold before comparing sessions. A different row size changes the grouping of volume and can change which rows stand out. The built-in imbalance comparison is diagonal: buy volume at a row is compared with sell volume below, and sell volume with buy volume above. Read the configured threshold rather than treating any bright cell as a standardized signal.
For a reproducible observation, save the symbol, interval, session, settings, timestamp, and whether the bar had closed. Avoid claiming that an older historical footprint has exactly the same information detail as a recent one.
What Absorption and Exhaustion Can Establish
“Absorption” is an interpretation of substantial activity with limited price progress. A chart alone does not identify one large passive trader, prove that all selling has finished, or establish that a reversal must follow. Similarly, low classified volume at an extreme can motivate an exhaustion hypothesis without proving it.
Write down the observable rule first. “The bar traded above yesterday's high and closed back below it” is reproducible. “Smart money hunted stops” adds an unobserved motive. Distinguishing these statements prevents a plausible story from becoming unsupported evidence.
Add Delta and CVD With Explicit Settings
TradingView's Volume Delta assigns a sign to lower-timeframe volume from price movement and builds a delta candle for each chart bar. Equal-price cases use earlier intrabar information. A smaller intrabar interval gives finer detail but usually covers less history.
Cumulative Volume Delta adds the signed values across its anchor period and resets at the next period. Record both the anchor and lower timeframe. Comparing CVD values across a reset as if they were one continuous accumulation can create a false divergence.
For an arithmetic illustration, three signed-volume observations of +120, −80, and +30 produce a cumulative change of +70. They do not tell you how many buyers there were, whether institutions participated, or whether any position was newly opened.
A price higher high with a CVD lower high is a divergence under the selected calculation. To test it, define how the two highs are selected, when a pivot becomes confirmed, and whether both observations belong to the same anchor period. A pivot recognized after later bars arrive cannot justify an earlier entry.
Use Volume Profile and VWAP as Separate Context
TradingView Volume Profile groups historical volume by price. POC identifies the row with the most volume in the selected range; the value area depends on the configured percentage and grouping. Its up/down split is also price-direction based. Some feeds provide tick volume rather than traded units.
Choose a completed session or a range whose endpoints were available at the decision time. A developing POC can move. Using its final location to explain an earlier trade introduces future information.
VWAP is a volume-weighted average for a chosen anchor. Price can remain far from it during a trend; deviation alone does not establish an imminent return. See the anchored VWAP explanation for the role of the anchor.
Turn Observations Into Testable Rules
The following are research templates, not reported profitable setups. Choose the numerical thresholds and exits before measuring outcomes.
| Hypothesis | Observable trigger | Information to freeze |
|---|---|---|
| Failed breakout | Closed bar crosses a completed session extreme and closes back inside | Session, minimum excursion, entry timing, stop and time exit |
| CVD divergence | Two confirmed price pivots disagree with CVD pivots | Pivot confirmation delay, anchor, intrabar interval |
| Profile-level response | Price reaches a prior completed profile level | Profile range and rows, touch definition, response horizon |
| Imbalance continuation | Configured stacked imbalance appears on a closed bar | Threshold, row size, count of adjacent levels, entry and exit |
Compare each rule with a simpler price-only baseline. Include every eligible occurrence, fees, spread, slippage, missed entries, and overlapping exposure. Adding three correlated volume displays does not automatically provide three independent confirmations.
A stop defines an exit instruction, not a guaranteed maximum loss. Record whether the broker supports the required bracket and how cancellation or partial fills are handled. Size calculations should use contract value and plausible execution loss, not merely the distance between two lines.
Replay and Pine Script Boundaries
TradingView's Bar Replay documentation lists Volume Footprint charts among unsupported chart types. It also states that ordinary broker/Paper Trading orders and trading-panel quotes remain based on realtime data during chart replay. Replaying candles is not a historical replay of the live broker DOM or transaction tape. Do not use those live panels as evidence about the replayed date.
Pine supports footprint requests through request.footprint(). The current limitations permit one unique footprint request and require Premium or Ultimate for scripts using it. This API provides footprint data, not the broker's full resting order book. Account access and data availability must be checked separately from script syntax.
Pineify can help author Pine-based conditions. Confirm that the chosen component or custom code exposes the required data and that its historical calculation matches the rule you intend to test. Generated code does not grant market-depth permissions or reconstruct missing executions. Review and test the resulting script in TradingView before creating alerts.
Frequently Asked Questions
Does TradingView have built-in footprint charts?
Yes. Volume Footprint is a chart type. Its buy/sell labels follow the documented intrabar price-direction classification; they are not a verified identity or intent record.
Does a paid chart plan include broker market depth?
Do not assume so. DOM availability depends on the connected broker, instrument, and Level 2 permissions. Footprint-script access has separate plan requirements.
Is CVD divergence a reversal signal?
It is a disagreement between price and a particular signed-volume calculation. It can persist. A trading rule needs confirmed pivots, defined timing, exits, and evaluation after costs.
Can I replay historical DOM with Bar Replay?
Chart replay does not establish historical broker-depth replay. Ordinary trading-panel quotes remain live, and the documented Bar Replay limitations exclude Volume Footprint charts.
Which market should I use?
Start with a specific instrument whose feed, volume units, session, and permissions you can verify. A futures contract, a crypto venue, and a forex quote feed do not represent the same market-wide data.

