Anchored Volume Delta with Adaptive Bands
- Indicators
-
Narayanan Mohanan Mohanan Krishnan
I build measurement tools for MetaTrader. They describe what the market has done, and state the limits of each measurement rather than hiding them. - Version: 1.1
- Updated: 4 August 2026
This indicator plots Cumulative Volume Delta (CVD) — the running total of each bar's volume, signed by the direction the bar closed — inside adaptive standard-deviation bands. It answers a question price alone does not: is the move being carried by participation, or is it drifting?
The cumulative total restarts at an anchor you choose — daily, weekly or monthly — so the reading is always relative to the current session, week or month rather than to the beginning of chart history. That single control is what makes the same indicator useful on a five-minute forex chart and on a daily equity chart, and it is what separates this from a plain cumulative volume line that only ever grows from wherever your history happens to start.
How it works
Each bar contributes its volume to a running total: added when the bar closes above the previous close, subtracted when it closes below, and left unchanged when the close is flat. Tick volume is used by default. Real volume can be selected instead, and where the broker supplies none the calculation falls back to tick volume for that bar.
A 20-period basis and its standard deviation are then calculated over that cumulative series, and the upper and lower bands are placed at a chosen multiple of the deviation. Because the bands are built from the series' own variability, they widen when participation becomes volatile and contract when it settles — no fixed thresholds to re-tune per instrument.
When the cumulative total reaches an anchor boundary it resets to zero and begins again. On the chart this appears as a clean restart in the line, and the bands re-form around the new period.
What the bands show
A move outside the bands means volume flow has become statistically unusual for that instrument's recent behaviour. A return inside means it has normalised. Neither is a signal to act — they are a description of where participation currently sits relative to its own recent range.
Three readings traders commonly take from this display:
Band contact. The CVD line reaching the upper band marks buying flow stretched relative to its recent range; the lower band marks the same for selling flow. In the screenshots these points are marked in red at the upper band and green at the lower band. What follows a stretched reading is not fixed — flow can normalise, or it can keep extending while the bands widen around it.
Confirmation. Price makes a new high or low and the CVD line makes one too. Participation is travelling with price.
Divergence. Price makes a new low while the CVD line makes a higher low, or the reverse at a high. Price has moved but the volume flow behind it has not followed. This is context, not a prediction — divergences resolve in both directions, and they can persist far longer than expected.
Inputs
- Applied volume — Tick Volume (default) or Real Volume where the broker supplies it
- Anchor period — Continuous, Daily (default), Weekly or Monthly
- Bands period — 20
- Bands deviation — 2.0
An anchor must be coarser than the chart period to mean anything: a daily anchor on a daily chart would reset on every bar. When that happens the indicator falls back to a continuous series, states the reason in the Experts log, and shows the anchor actually in use in its short name — so what you see labelled is always what is running.
Buffers
- Buffer 0 — CVD line
- Buffer 1 — Upper band
- Buffer 2 — Basis
- Buffer 3 — Lower band
All four are readable from an Expert Advisor or another indicator with iCustom() and CopyBuffer(). Read shift 1 — the last fully closed bar — for values that will not change.
The indicator is self-contained: it creates no handles to other indicators, so the only handle your code manages is the one it creates itself.
Across instruments
The screenshots show the indicator on five asset classes and all three anchor settings, with nothing changed but the anchor. In each one, red marks contact with the upper band, green marks contact with the lower band, and yellow trendlines mark a divergence between price and volume flow.
- US30 H1, daily anchor — the fullest example, showing both kinds of divergence. On 29 July price drives to a decisively lower low while the CVD line holds a higher low: the selling is not carried by matching volume flow, and price works back up over the following sessions. Earlier, on 28 July, the reverse — flow reaches the upper band while price has already begun rolling over from its high.
- XAUUSD H1, daily anchor — price posts a lower low into 24 July while the CVD line posts a higher low, with both legs marked on the price and indicator panes.
- GBPJPY M5, daily anchor — an intraday session where selling flow carries the line through the lower band, then flattens and settles inside the bands while price stabilises.
- BTCUSD H4, weekly anchor — a longer horizon on a market that trades continuously, where a weekly anchor suits the timeframe better than a daily one. Band contact is marked at both extremes.
- GOOGL Daily, monthly anchor — an equity on a daily chart, where only a monthly anchor is coarse enough to leave the cumulative series intact. The monthly restarts are visible as clean breaks in the line.
Calculation behaviour
Values are calculated only from completed data. Once a bar closes its value is final and does not change. Only the currently forming bar updates as new ticks arrive, and it settles at that bar's close. The indicator uses no look-ahead data and does not repaint closed bars.
The cumulative series is rebuilt deterministically, so the same chart and settings always produce the same values regardless of when the indicator was attached or how the history was loaded.
Notes
- Separate indicator window, 4 plots, 4 buffers.
- Around 20 bars of history are required before the bands begin to draw.
- Tick volume is a proxy for traded volume. On instruments where the broker supplies real volume, selecting it gives a more faithful reading.
- No external dependencies. The cumulative series, the basis and the standard-deviation bands are all calculated inside the indicator. It does not call any other indicator, so there are no handles to fail, nothing to install alongside it, and no dependency on the state of your standard indicator folder.
This indicator is a tool for technical analysis and market-condition filtering. It is not a trading system, it does not generate trading signals, it does not provide investment advice, and it does not open or manage trades automatically. No performance claims are made for it.
Free to download and use. If you find it useful, a rating helps other traders find it.
| More tools from this developer I build MT5 indicators and Expert Advisors with an emphasis on clean, documented, no-repaint code — closed-bar logic, validated buffers, and no dependencies on other indicators. Questions about the calculation, the buffers, or using this in your own EA? Send me a private message — I am happy to answer. |
Developed and maintained by Narayanan Mohanan, MT5/MQL5 Developer.

User didn't leave any comment to the rating