Senzoukria · Indicators

Chaikin Volatility Indicator: Formula, Settings and How to Read It

Chaikin Volatility measures how quickly the average bar range is changing, by taking the rate of change of an exponential moving average of high minus low. A positive reading means ranges are wider than they were M bars ago; a negative one means they are contracting.

Updated September 2026First published 17 September 2026

On this page
  1. What Chaikin Volatility measures
  2. The formula, as implemented
  3. How to read it
  4. Parameters and defaults
  5. What it does not show
  6. Related indicators
  7. This page in other languages
  8. Frequently asked questions

Chaikin Volatility — Volatility, in its own panel below the chart.

What Chaikin Volatility measures

The indicator smooths the bar range with an EMA over N bars, compares that EMA with its own value M bars earlier, and reports the difference as a percentage of the earlier value. Defaults are an EMA of 10 and a rate-of-change lookback of 10, Chaikin's own. It reads range only — the ground a bar covered — and not the close, so a wide bar that finishes where it started counts in full. No value appears until the EMA is defined both at the current bar and M bars back. When the reference EMA is zero or below, meaning no range at all across the smoothing window, nothing is emitted either: zero divided by zero is not zero percent, it is an absence of information.

The formula, as implemented

This is not how the indicator is usually defined elsewhere — it is what the shipped code computes, documented next to the implementation:

Chaikin Volatility : ROC_M de l'EMA_N du range (high − low) — CV = (EMA_N(H−L)[i] − EMA_N(H−L)[i−M]) / EMA_N(H−L)[i−M] × 100 Défauts N=10, M=10 (Chaikin). Référence ≤ 0 (marché sans range sur toute l'EMA) → null : 0/0 n'est pas « 0 % », c'est « pas d'info » (même règle que delta-percent). Warm-up (EMA indéfinie à i ou i−M) → null.

How to read it

  • Above zero, the average bar is bigger than it was M bars ago; below zero, the market is compressing.
  • Direction is absent from this measure — strong expansion accompanies breakouts and violent reversals alike.
  • A long stretch near zero means the range regime is stable, not that the market is flat: a market can trend steadily with a constant bar size.
  • Extremes here are rate-of-change extremes, not price extremes. After a very quiet window the comparison base is small, so an ordinary bar can print a large percentage.
  • Reading it next to a plain range or ATR line prevents that mistake: one gives the level, this one gives the change.

Parameters and defaults

The EMA period (default 10) decides how much of a single wide bar survives into the smoothed range. The ROC period (default 10) sets how far back the comparison reaches; raising it alone compares against an older and usually more different regime, which increases the amplitude of the output without any change in the underlying ranges. Both accept 1 to 100.

Chaikin Volatility — parameters exposed in the app, with the values it ships with.
ParameterTypeDefaultRange
EMA periodnumber101 – 100
ROC periodnumber101 – 100

What it does not show

Because the output is a percentage change, its scale depends entirely on the comparison base — a small denominator after a quiet window produces a large number for a modest expansion. The measure ignores volume, delta and where the close landed inside the bar. Lag enters twice: the EMA delays the range change, and the comparison is then made between two already delayed values. And on gappy or thinly traded data, high minus low under-reports the real move, since the distance between one bar's close and the next bar's extremes is never part of it.

Browse all indicators

This page in other languages

Frequently asked questions

What does a negative Chaikin Volatility reading mean?
It means the smoothed high-low range is smaller now than it was M bars ago, so bars are contracting. It says nothing about price direction: a market can compress while trending or while going nowhere. The depth of the negative value reflects how much the range shrank relative to that earlier reference.
Is Chaikin Volatility the same as ATR?
No. ATR averages the true range, which includes the gap from the previous close, and reports a level in price units. Chaikin Volatility averages the plain high-low range and reports how fast that average is changing, as a percentage. One answers how big bars are, the other answers how quickly that size is shifting.
What are the default settings for Chaikin Volatility?
An EMA period of 10 and a rate-of-change period of 10, which are Chaikin's original values. Both accept 1 to 100 in Senzoukria. Changing the ROC period has the larger visible effect, since it sets the distance of the comparison.
NEXT

Keep reading