Skip to main content
On this page

Order Flow on TradingView: DOM, Delta, Footprint, Volume Profile

· 9 min read
Pineify Team
Pine Script and AI trading workflow research team

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.

Order Flow TradingView: A Complete, Practical Guide to DOM, Delta, Footprint, and Volume Profile

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.

ToolObservationBoundary
DOMDisplayed resting quantities at prices supplied by a connected brokerNot every hidden order or venue; orders can be changed or cancelled
Transaction tapeExecuted prints available from the chosen providerCoverage, batching, and side classification require verification
TradingView FootprintIntrabar volume classified and distributed across price rowsAn estimate based on price direction, not a participant-identity feed
Volume Delta / CVDSigned intrabar volume, within a bar or accumulated across an anchor periodResults depend on the lower timeframe and reset settings
Volume ProfileHistorical volume distribution across price levelsDescribes 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.

HypothesisObservable triggerInformation to freeze
Failed breakoutClosed bar crosses a completed session extreme and closes back insideSession, minimum excursion, entry timing, stop and time exit
CVD divergenceTwo confirmed price pivots disagree with CVD pivotsPivot confirmation delay, anchor, intrabar interval
Profile-level responsePrice reaches a prior completed profile levelProfile range and rows, touch definition, response horizon
Imbalance continuationConfigured stacked imbalance appears on a closed barThreshold, 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 Website

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.