CVD divergence signals and history
The CVD Divergence overlay draws trendlines between two price pivots whose cumulative delta disagrees with the price, regular or hidden, and keeps a session history of every signal with its invalidation status.
Senzoukria · Documentation · Updated September 2026
Where to find it
- Where
- Chart → Indicators → Overlays → CVD Divergence
- Default
- Off; Pivot lookback 5 bars, Max signals 3, Min pivot dist 2, Max pivot dist 80, Min ΔCVD 0
- Confirmation
- A pivot needs N closed bars on each side; the live bar never forms a pivot
- History
- Session history list inside the same panel, grouped by day, newest first
What it does
The overlay computes a running CVD from the total delta of the loaded bars, then looks for confirmed pivot highs and pivot lows. A bar is a pivot when its high (or low) beats every bar within Pivot lookback bars on each side; the newest bar is excluded because its extreme is still forming, and the signal exists only from the bar that confirms the pivot.
A bearish divergence pairs two pivot highs where the price makes a higher high while the CVD makes a lower high. A bullish divergence pairs two pivot lows where the price makes a lower low while the CVD makes a higher low. Hidden divergences, off by default, are the continuation form: the price makes a lower high (or higher low) while the CVD does the opposite.
Each newer pivot is compared with every earlier pivot inside the distance window, not only the previous one, and the partner with the largest |ΔCVD| is kept. A candidate is rejected when a bar between the two pivots trades beyond the straight line joining them, or when a bar with an unmeasured delta sits between them. When both pivots carry intrabar delta extremes, the CVD is read at those extremes; otherwise at the bar closes.
Settings
| Setting | Default | What it changes |
|---|---|---|
| Pivot lookback | 5 bars (2–20) | Bars each side of a candidate that it must beat to be a pivot |
| Hidden divergences | Off | Also detect continuation divergences at pullback extremes |
| Max signals | 3 (1–10) | Number of most recent active divergences drawn on the chart |
| Min pivot dist | 2 bars (1–30) | Minimum bars between the two pivots of a pair |
| Max pivot dist | 80 bars (5–200) | Maximum bars between the two pivots |
| Min ΔCVD | 0 ctr (0–5000) | Noise floor: |CVD(pivot 2) − CVD(pivot 1)| must reach this value |
| Bullish / Bearish | #22c55e / #ef4444 | Line colors per direction |
| Line width / style | 1.5 px, Dashed | Stroke of the pivot-to-pivot line |
| Labels | Off | Text tag on each line |
| Divergences invalidées (estompées) | Off | Keep invalidated signals on the chart, faded |
| Niveau d'invalidation | Off | Dotted line at the price of the second pivot |
Invalidation and the history list
A divergence is invalidated when the price trades beyond the newer pivot (the swing it was measured on is gone) or, for regular divergences only, when the CVD goes back beyond its value at the older pivot, which means the flow now confirms the price. Price checks continue through the forming bar; CVD checks stop at the first unmeasured bar.
The Session history list sits under the settings, inside the same modal. It tallies bull and bear signals, active and invalidated, and lists every divergence found in the loaded bars: confirmation time, BULL or BEAR, regular or hidden, price of the two pivots, ΔCVD with a ×N multiple of the mean |delta| per bar between the pivots, and the invalidation cause and time. The chart itself only draws the last Max signals active ones.
How to use it
- Start with the defaults and read the strength column: ×N is comparable across instruments because it is normalised by the mean absolute delta per bar.
- Raise Min ΔCVD on instruments with large delta swings to drop weak pairs; lower it, shorten the lookback or widen the distance when the list is empty.
- Turn on « Niveau d'invalidation » to see the exact price whose breach cancels the signal.
Limits or pitfalls
- The running CVD used here starts at the first loaded bar; it is not the reset-aware value of the CVD panel.
- Adding history can create or remove pairs, since pivots and line-of-sight checks depend on the loaded bars.
- A signal is a description of past disagreement between price and flow; it makes no promise of a reversal.
Related pages
- CVD panel and reset modes
- Absorption zones
- CVD vs price divergence study
- Delta divergence study
- Cumulative delta explained
This page in other languages
Frequently asked questions
- Why does the chart show fewer divergences than the history list?
- The chart draws only the most recent active signals, capped by Max signals (3 by default). The history list keeps every divergence of the loaded bars, including invalidated ones.
- What is the difference between regular and hidden?
- Regular divergences form at trend extremes and are read as reversal signals. Hidden ones form at pullback extremes and are read as continuation; they are only searched when Hidden divergences is enabled.