Volatility Regime Indicator: Formula, Settings and How to Read It
Volatility Regime divides a fast ATR by a slow ATR to show how current volatility compares with its own longer-run baseline. Above 1 the market is moving more than its recent normal, below 1 less.
Senzoukria · Indicators · Updated September 2026
Volatility Regime ships with the Senzoukria desktop app, in the Volatility group of the indicator catalogue. It is drawn in its own panel below the chart.
What Volatility Regime measures
The default is a 14-period ATR over a 100-period ATR. Because both terms are in price units, the ratio is dimensionless, which makes it comparable between instruments such as MNQ and 6E and across periods — something raw ATR is not. The slow period is deliberately far longer than the fast one: if the denominator tracked the numerator, the ratio would be pinned near 1 and carry no information. When the slow ATR is zero, across a perfectly flat hundred bars, the output is null rather than zero or infinity, because an undefined ratio is an absence of information and not a quiet regime.
The formula, as implemented
This is not a description of how the indicator is usually defined elsewhere — it is what the shipped code computes, documented next to the implementation:
Volatility Regime — la volatilité de l'instant rapportée à sa normale : regime[i] = ATR_fast[i] / ATR_slow[i] (défauts 14 et 100) Lecture : > 1 = régime AGITÉ (la volatilité courte dépasse la longue — ouverture, news, expansion de range) ; < 1 = régime calme (compression) ; ≈ 1 = régime ordinaire. C'est un RATIO SANS UNITÉ, donc comparable d'un instrument à l'autre (MNQ vs 6E) et d'une époque à l'autre, ce que l'ATR brut n'est pas. POURQUOI 14/100 : 14 est l'ATR de référence (Wilder) et 100 barres donne une base assez longue pour ne pas bouger avec le numérateur — un dénominateur qui suit le numérateur écraserait le ratio vers 1. ATR long nul (marché parfaitement plat sur 100 barres) → null, JAMAIS 0 ni l'infini : 0/0 n'est pas « régime calme », c'est « pas d'information ». Warm-up de l'un OU l'autre ATR → null.
How to read it
- Values close to 1 describe an ordinary regime, where short-term volatility matches the longer baseline.
- A move above 1 that holds marks expansion — session opens, scheduled releases and range breaks typically produce it — and is a reason to re-examine stop distances measured in points.
- Values well below 1 mean compression: bar ranges are narrow, and targets sized on normal volatility may simply not be reached.
- Two instruments' panes can be compared directly, provided both charts use the same timeframe and the same fast and slow periods.
- It describes state, not direction: a high regime occurs in rallies and in breaks alike.
Parameters and defaults
Fast ATR defaults to 14, the Wilder reference, and slow ATR to 100, long enough that the baseline does not move with the numerator. Bringing the slow period close to the fast one flattens the ratio toward 1 and removes what the pane was showing; extending it makes the baseline slower to accept a genuine change of regime. The fast period governs how quickly the pane reacts.
| Parameter | Type | Default | Range |
|---|---|---|---|
| Fast ATR period | number | 14 | 1 – 200 |
| Slow ATR period | number | 100 | 2 – 1000 |
What it does not show
Both terms are averages, so the ratio inherits ATR's lag on each side: it confirms a regime rather than anticipating one, and after a burst of volatility it stays above 1 while the slow ATR catches up. It cannot separate real activity from a one-off gap or a bad print, both of which enter the fast ATR at full weight. The full slow window must be loaded before anything is drawn, so a chart with thin history shows an empty pane. And it uses no order flow: it knows how far price moved, not who moved it.
Using it in Senzoukria
Add it from the Indicators panel of any footprint chart or candle chart. It runs on futures data from Rithmic or Databento and on crypto pairs from Binance and Bybit, on the same engine — the calculation does not change with the venue, only the data feeding it does. Market data subscriptions are billed by the provider, separately from the app.
Related indicators
- Volatility Stop — Volatility
- Max Adverse Excursion — Volatility
- Drawdown from High — Volatility
- Run-up from Low — Volatility
- Range Expansion Streak — Volatility
- Session Risk Budget — Volatility
See the full indicator library, or start with the order flow guide if you are new to reading aggression, delta and absorption.
Frequently asked questions
- How do you measure a volatility regime?
- One common approach is to compare short-term volatility with its own longer-term level, for instance by dividing a 14-period ATR by a 100-period ATR. The resulting ratio sits near 1 in ordinary conditions, above it during expansion and below it during compression.
- What does a volatility ratio above 1 mean?
- It means recent bar ranges are larger than the longer-run average bar range on the same instrument. That is a description of current conditions — wider stops and wider targets in points for the same setup — and not a directional indication.
- Can you compare ATR between two different futures contracts?
- Not directly, because ATR is expressed in each instrument's price units and tick sizes differ. A ratio of a fast ATR to a slow ATR removes the units, so the regime values from two contracts can be compared as long as both charts use the same timeframe and the same periods.