Senzoukria · Documentation

Indicators: volatility (ATR %, True Range, Squeeze, Realized Vol)

The Volatility group contains six studies: ATR %, True Range, Std Dev, Squeeze, Chaikin Volatility and Realized Vol. They measure price distance from high, low and close, run continuously across sessions and ignore the tick size.

Updated September 2026First published 19 September 2026

On this page
  1. Where to find it
  2. What it does
  3. Settings
  4. How to use it
  5. Limits and pitfalls
  6. Related pages
  7. In the same section
  8. This page in other languages
  9. Frequently asked questions

Where to find it

Where
Chart toolbar → Indicators → group "Library · Volatility"
Target
Pane, except Squeeze which draws dots on the price chart
Not here
ATR, Bollinger, Keltner and Donchian live in Averages & volatility
Session reset
None

What it does

ATR % divides Wilder's ATR by the close and multiplies by 100, making volatility comparable across instruments; a close ≤ 0 gives no value. True Range is a per-bar histogram of Wilder's TR, defined from the first bar (high − low) since no previous close exists. Std Dev is the windowed population standard deviation of the close (÷N), computed in two passes around the window mean to avoid catastrophic cancellation on futures prices.

Squeeze follows John Carter's TTM rule: a dot is placed at the close when the Bollinger bands are strictly inside the Keltner channel (BB upper < KC upper and BB lower > KC lower). It recomputes both envelopes internally with its own defaults rather than reading the Bollinger or Keltner studies. Chaikin Volatility is the percent change over M bars of the EMA(N) of high − low. Realized Vol is the sample standard deviation (÷(N−1)) of the last N log returns, annualised by the square root of the Periods / year parameter, in percent.

Settings

Parameters declared in the Volatility group
StudySettingDefault (range)What it changes
ATR %Period14 (1–200)Wilder ATR length before normalisation
True RangePositive color / Negative color / Smoothinggray / red / 1 (1–200)Histogram colors; optional SMA post-smoothing, 1 = off
Std DevPeriod20 (2–200)Window of the population σ of the close
SqueezeBB period / BB multiplier20 (2–200) / 2 (0.5–5)Internal Bollinger envelope
SqueezeKC period / KC multiplier20 (1–200) / 1.5 (0.5–5)Internal Keltner envelope, same period for EMA and ATR
SqueezeColoryellowDot color at the close
Chaikin VolatilityEMA period / ROC period10 (1–100) / 10 (1–100)EMA of the range, then its percent change distance
Realized VolPeriod20 (2–500)Number of log returns in the window
Realized VolPeriods / year362880 (1–10 000 000)Annualisation factor; default assumes 1-minute bars over 252 × 24 h days

How to use it

Enable a study from the Library groups of the Indicators panel. Squeeze shows nothing while either envelope is still in warm-up, and nothing when the bands coincide, because the comparison is strict. The Smoothing setting on True Range is the catalog-wide post-smoothing: the default 1 returns the raw series unchanged and any larger value applies a simple average over the histogram values.

For Realized Vol on a timeframe other than one minute, adjust Periods / year: for 5-minute bars the equivalent is 252 × 288 = 72 576. The default is documented as an approximation, since a CME futures session lasts about 23 hours rather than 24.

Limits and pitfalls

  • Std Dev and Squeeze use the population σ (÷N); Realized Vol uses the sample σ (÷(N−1)). Both conventions are documented in the code and are intentional.
  • Squeeze defaults (20/2 and 20/1.5) are not the Keltner study's defaults (20/10/2); changing one does not change the other.
  • Chaikin Volatility returns no value when the reference EMA is zero or undefined; a market without range is not 0 % change.
  • Realized Vol returns nothing if any close in the window is ≤ 0 (log undefined) or during warm-up.
  • These measures describe the loaded bars; the library does not certify data coverage or freshness.

In the same section

This page in other languages

Frequently asked questions

Where are ATR, Bollinger and Keltner?
In the Averages & volatility group, shipped in the first wave. The Volatility group was merged later without replacing them, because an id already persisted in a user's settings must keep the exact behaviour it had.
Why is the default Periods / year 362 880?
It equals 252 × 1440, i.e. one-minute bars over 252 trading days of 24 hours. Change it to match the chart's bar duration; the parameter is a stated assumption, not a detected value.
NEXT

Keep reading