On this page
- What delta is — and what it is not
- The shortcut that breaks everything: candle-colour delta
- Intrabar delta: building the sign from sub-bars
- Tick volume on spot Gold: the caveat you cannot skip
- Session anchoring: the reset point is a decision
- Reading CVD: divergence and absorption, carefully
- The release window: delta is loudest when it is least reliable
- What we have measured — and what we have not
What delta is — and what it is not
Every trade has a buyer and a seller, so “more buyers than sellers” is meaningless as stated. Delta measures aggression: a trade at the ask counts as a buy (someone lifted the offer), a trade at the bid counts as a sell (someone hit the bid). Bar delta is buy volume minus sell volume; CVD is the running sum of bar deltas from an anchor.
So CVD measures who crossed the spread, not who was right. A rising CVD says market buyers have been more aggressive than market sellers since the anchor; it says nothing about whether the passive side — the limit orders they traded into — will eventually win. That distinction is the whole reason CVD is interesting: when aggression and price disagree, something about the passive side of the book is showing. CVD is not a footprint (no bid/ask ladder, only the net per bar), and it is not leading by construction — it is a different description of the bars you already have.
The shortcut that breaks everything: candle-colour delta
Here is how many TradingView CVD scripts compute per-bar delta:
delta = close >= open ? volume : -volume
Green candle, all the volume counts as buying; red candle, all of it counts as selling; cumulate and call it CVD. This is not an approximation of delta. It is a different indicator — volume signed by the candle’s colour — with three structural problems.
First, it assigns all of a bar’s volume to one side. A 5-minute Gold bar that closes two cents above its open after a violent two-way auction has something close to an even split of aggression; candle-colour delta records it as pure buying. The error is largest exactly where real delta is most informative — heavy volume, small body.
Second, it is correlated with price by definition. If the sign of your delta is the sign of the candle, your “CVD” is a volume-weighted version of price direction, and every divergence it shows is an artefact of volume differences between up and down bars. You cannot detect absorption with a tool that cannot disagree with the candle.
Third, it repaints. While the bar is open, the sign flips every time price crosses the open, so the historical line — computed on finished bars — looks far cleaner than anything you saw live. Our guide on how to verify non-repainting claims gives the test: replay bar by bar and watch the last value.
Intrabar delta: building the sign from sub-bars
TradingView does not expose bid/ask trade classification. What it does expose, through request.security_lower_tf, is the sequence of lower-timeframe bars inside each chart bar, and intrabar delta uses those sub-bars to recover a far better estimate of aggression.
Take a 15-minute chart bar. Inside it are, say, fifteen 1-minute sub-bars, each with its own open, close and volume. Classify each sub-bar’s volume by its own direction — a sub-bar that closed up is buying volume, one that closed down is selling volume — then sum the signed sub-bar volumes to get the chart bar’s delta. The chart bar’s colour is never consulted, so the two-cent bar after a two-way fight now shows the fight instead of erasing it. The finer the sub-timeframe, the closer the estimate gets to the tape.
It is still an estimate — sub-bar direction is a proxy for bid/ask classification, the same family as the “tick rule” in microstructure research — and two honest limits follow:
- Resolution is bounded. TradingView caps how many intrabar sub-bars a script can request. On a 5-minute chart you may get 1-minute or finer sub-bars; on a daily chart the sub-bars are coarse relative to the bar and the estimate degrades. A good indicator states which sub-timeframe it actually uses.
- The history is finite. Lower-timeframe data exists for a limited number of chart bars back. Beyond that window the indicator must stop or fall back to a cruder method — and if it silently falls back to candle colour, the historical line becomes a different indicator than the live one. Insist on a visible label when a fallback is active.
Tick volume on spot Gold: the caveat you cannot skip
Delta is signed volume, so it inherits every limitation of the volume underneath it. On COMEX Gold futures (GC), volume is contracts traded, reported by the exchange. On spot XAU/USD there is no central tape, and TradingView’s volume column is tick volume — the number of quote updates in the bar. The full comparison is in XAUUSD vs GC futures; the short version for CVD is that on spot, intrabar delta is signed activity, not signed quantity: a sub-bar with 40 quote updates that ticked up contributes +40 whatever size traded — informative, but one estimate stacked on another. On GC the same construction stands on real contract counts, which is why serious delta analysis on Gold is usually done on the futures chart, even by traders who execute on spot.
This is why CVD Pro prints on the chart whether the feed is real volume or a tick proxy. The proxy is not useless — our own volume-by-hour study is built on it and says so — but the confidence you attach to a divergence should not be the same on both feeds.
Session anchoring: the reset point is a decision
A cumulative sum has to start somewhere, and where it starts changes everything it shows. A CVD anchored at the first bar on the chart has a level that depends on how far back you scrolled; anchoring to a session gives the number a definition — “net aggression since the New York open” is a statement a trader can act on. The logic from the session-anchored VWAP guide applies directly: the daily anchor gives the day’s net flow, the session anchor shows who has been crossing the spread since this session opened, and the gap between them is itself a read — a positive daily CVD with a negative NY-anchored CVD says the afternoon is leaning against the morning.
On Gold, which anchor matters most is not a matter of taste. Across 653 normal days in our volume study, the hours starting 15:00 and 16:00 Paris carried 8.4% and 8.5% of the day’s tick volume, 14:00 carried 6.5%, and the London open hour at 09:00 carried 4.5%. The New York open block is where the participation is, so a CVD anchored there describes the aggression that moves the market. An Asia-anchored CVD describes a session that, in our 821-day study, did not predict London’s direction — London continued Asia 49.3% of the time. Treat it as a description of the overnight auction, not a forecast.
Reading CVD: divergence and absorption, carefully
CVD has two classic reads, both about aggression disagreeing with price.
Divergence. Price makes a higher high while CVD makes a lower high: buyers were less aggressive on the second push, yet price went higher (or the mirror image at lows). The textbook reading is that the move is losing sponsorship. Reasonable — with one caveat worth tattooing on the screen: a divergence describes the last two swings, not the third. Markets make higher highs on falling delta and keep going all the time; the passive side can simply step away.
Absorption. CVD rises sharply while price goes nowhere: aggressive buying met passive selling that did not move. It is the more interesting read because it is invisible on the candle — and the one candle-colour delta can never produce, since a small-bodied bar has, by construction, a near-zero colour delta.
How we frame both in a systematic workflow:
| Read | What CVD shows | What it does not tell you | Pair it with |
|---|---|---|---|
| Bullish divergence | Lower low in price, higher low in CVD | Whether passive buyers keep defending | A level (prior-day low, session low) and the regime |
| Bearish divergence | Higher high in price, lower high in CVD | When the move ends | A level and the regime |
| Buy absorption | Rising CVD, flat price | Whether the absorber is done | Session VWAP and time of day |
| Sell absorption | Falling CVD, flat price | Whether the absorber is done | Session VWAP and time of day |
In every row, CVD on its own is context; the trade, if any, comes from where it happens and in what regime. Our level studies are why: across 2,434 first sweeps of major liquidity levels on Gold, roughly half had closed back on the original side by the end of the day — the unconditional sweep-and-reverse story is a coin flip. A sweep with a CVD divergence is a better-defined hypothesis than a sweep alone. Whether it is a better-performing one is an empirical question we have not yet answered, and we will not pretend otherwise.
The release window: delta is loudest when it is least reliable
Around the 8:30 ET (14:30 Paris) US data releases, volume and delta explode together and divergences print everywhere, because price and aggression are both whipping. On data days in our volume study (n=119), the 14:00 hour’s share of daily tick volume rose to 10.7% and the 15:00 hour’s to 10.5% — the release concentrates the day’s activity into a few bars. Our release study says the first impulse tends to continue, not fade: after NFP, the 15-minute direction matched the initial 5-minute spike 93.5% of the time (n=31), while the morning before a release was the trap zone — 85.7% of pre-NFP morning breakouts failed (n=28). A CVD divergence inside the release spike is, in our view, mostly noise from a tape moving faster than the sub-bar resolution can describe; read delta after the first fifteen minutes.
What we have measured — and what we have not
Our standard is to publish the research behind every tool, with the sample size. For CVD, that forces an admission. We have not yet published a study of CVD divergence or absorption outcomes on Gold. We know from our volume work where participation concentrates, from the release study how the first impulse behaves, and from the sweep, FVG and Order Block papers how often price revisits recent levels whatever pattern is drawn around them. We do not yet have a pre-registered, audited answer to “how often does a CVD divergence at a level precede a reversal, versus a comparable level without one?” Until we do, every claim here about divergence and absorption is a reading, not a frequency — and we label it as such.
The checklist we apply to any CVD indicator before it goes on a Gold chart:
- Delta source: intrabar, from sub-bars — never the colour of the bar it is drawn on. Replay the chart and confirm the last value does not flip while the bar is open.
- Declared sub-timeframe and fallback: which sub-timeframe it uses, and whether older history has fallen back to a cruder method.
- Feed label: real volume or tick proxy, printed on the chart. On spot XAU/USD it is a proxy; weigh divergences accordingly or read delta on GC.
- Anchor: daily plus the current session, with New York the anchor to respect most on Gold.
- Role: context, not trigger. A divergence or absorption is a reason to look at the level, the regime and the session VWAP — not a reason to click.
CVD Pro is our implementation of this checklist: true intrabar delta from sub-bars, session anchoring, a per-bar delta histogram, divergence and absorption flags, and a dashboard that states the session bias and whether the feed is real volume or a tick proxy. It is one of the 18 indicators in the suite today — more added every month — all developed hand-in-hand with a full-time Gold day trader, all on TradingView’s native data. If you want session and regime context first, before adding volume tools, the free SLR Dashboard Lite is where to start.
See these numbers on your own chart
Delta Terminal's free tier includes a full TradingView indicator (SLR Dashboard Lite) and our Foundations ebook — no card, no countdown. The paid suite puts measured probabilities, session context and intermarket macro directly on your chart.
Start free on Whop