Back to blog
September 18, 20267 min read

Cumulative Delta (CVD) as a Custom ATAS Indicator: It All Hangs on the Reset

Cumulative delta, often shortened to CVD, tracks the running sum of aggressive buying and aggressive selling - volume executed into the ask minus volume executed into the bid. Not to be confused with candle-level delta divergence, which we've written about separately: that one is about the delta of an individual candle, this one about a continuous line running across many candles.

What CVD measures

Every executed order has an aggressive side: whoever wants immediate execution takes the other side's price. CVD adds that aggression up continuously. When the line rises, aggressive buying dominates; when it falls, aggressive selling dominates. The value itself matters less than how it moves relative to price.

The central design question: when does it reset?

This is where it's decided what the indicator looks like and what it actually says. CVD can run continuously or start over at zero at a fixed point - and both produce completely different lines on the same data.

  • Reset per trading day or session: the sum reflects only the current session's pressure, with no carryover from previous days. That makes absolute values comparable day to day - the obvious choice for intraday work
  • Continuous with no reset: the line carries the entire history with it. More useful when broader shifts across several days are what matters
  • And the follow-up question that's almost always overlooked: what exactly counts as a session? Regular trading hours only, or after-hours too? That definition moves the zero point and with it the entire line

CVD divergence

The most commonly used derivation: price marks a new high or low, but the CVD line doesn't follow. That's read as a move not backed by aggressive capital. Whether it becomes a signal depends on how tightly the criteria are drawn - across how many candles the comparison runs, how pronounced the deviation has to be, and whether only extremes count or local swings too.

Have your own CVD variant in mind?

Describe your reset logic and divergence criteria - the feasibility check and quote are free and non-binding.

Request a project

What a custom implementation can define

  • A freely configurable reset point instead of a hard-coded one - including your own session definition rather than the platform default
  • Optional reference lines, such as the CVD value at the session open or the current session's extremes
  • Divergence detection to your own definition, with a minimum deviation to filter noise during quiet phases
  • Combining with context, for example only divergences at a volume profile level or within certain trading hours
  • A Telegram alert on a detected divergence instead of continuous monitoring

Frequently Asked Questions

What's the difference between delta and cumulative delta?

Delta refers to an individual candle or price level. Cumulative delta adds those values up continuously, producing a single line that runs across many candles.

Should CVD reset per session or run continuously?

It depends on the use. A per-session reset isolates the current trading day's pressure and makes values comparable across days, which suits intraday approaches. A continuous line is better suited when shifts across several days are what you want to see.

Is a CVD divergence an entry signal?

It's an indication that a price move isn't backed by aggressive capital - not a finished signal. In practice it's usually combined with further confirmation.

Can an existing CVD indicator be extended with custom reset logic?

If the source is accessible, generally yes. Otherwise a reimplementation to your own definition is usually cleaner than trying to override someone else's behavior.

CVD is quick to explain as a concept and still decision-heavy to build. Anyone having their own variant made should above all choose the reset point deliberately - it determines what the line is answering to in the first place.

Have an idea for ATAS?

Tell us about your project - you'll get a free, non-binding quote within 24-48 hours.

Request a Free Quote