Home/Guides/ATR instead of points
Volatility
Why thresholds belong in ATR, not points.
Set an indicator threshold in points and you have set it for one instrument, on one timeframe, in one volatility regime. Two of those three will change without telling you.
The problem, stated plainly
Suppose you decide that two moving averages are meaningfully separated once the gap between them reaches four points. On one instrument that is a sensible number. Move the same setting to a different contract and it is either never reached or never not reached — because four points is a different amount of market on every instrument that exists.
It gets worse over time rather than better. The same instrument in a quiet summer and in a volatile week is effectively two different instruments as far as a fixed point threshold is concerned. You will find yourself nudging the number every few months, which is another way of saying the number was never measuring what you wanted.
What ATR actually measures
True range for a bar is the largest of three distances: the bar's own high minus its low, the high minus the previous close, and the previous close minus the low. Including the previous close is what makes it honest about gaps — a bar that opens well away from yesterday's close has a true range that reflects the jump, not just the visible candle.
Average true range is that value smoothed over a lookback, conventionally fourteen bars. The result is a single number in the instrument's own price units that answers: how much does this thing typically move in one bar right now?
ATR is a unit, not a signal. It has no direction and predicts nothing. Its entire job here is to be a denominator.
Normalising: dividing your way out of the problem
Take any distance on the chart — the gap between two averages, how far a
slow average has travelled over fifty bars, the distance from price to a
level — and divide it by the current ATR. The points cancel out, and what
is left is a dimensionless multiple, usually written as
R.
A separation of 0.8R means the two averages are eight-tenths
of a typical bar's movement apart. That statement is true in the same way
on every instrument and in every volatility regime, which is exactly the
property a threshold needs.
| If a bar typically moves… | …then a 4-point gap is… | Read as |
|---|---|---|
| 2 points | 2.0R | A wide, clearly separated cluster |
| 5 points | 0.8R | Reasonable separation |
| 20 points | 0.2R | Effectively compressed — the lines are touching |
Same four points, three completely different market descriptions. A
threshold expressed in R collapses all three rows into one
rule you only have to set once.
Choosing thresholds you can defend
The advantage of a normalised number is that it is comparable, so you can set it by observation instead of by guessing:
- Put the indicator on the chart with a deliberately low threshold, so nothing is being filtered out.
-
Watch the live
Rreadings through a session — through a trending stretch, and through a balanced one. - Note roughly where the value sits when the chart looks like the sort of market you want to trade, and where it sits when it looks like the sort you want to sit out.
- Put the threshold between the two, and leave it alone long enough to find out whether it was right.
Doing that once on one instrument gives you a number that will usually travel to the next one. That portability is the whole return on normalising.
Four things ATR does not fix
Normalisation removes one specific problem. It is worth being clear about what it leaves behind.
-
ATR is backward-looking. It is an average of bars
that have closed. When volatility changes abruptly, ATR arrives late,
and for a stretch after the change every
Rvalue on the chart is computed against a stale denominator. -
The lookback is still a choice. A 14-period ATR and a
50-period ATR give different denominators and therefore different
Rvalues for the same gap. You have replaced a per-market decision with a single global one, which is a real improvement, but not with no decision. - Session edges distort it. An ATR computed across the overnight session on an instrument that barely trades overnight will read low, making everything look wide by comparison, until the day session refills the average.
- It says nothing about liquidity. Two instruments can share an ATR and have completely different spreads and fill quality. ATR normalises the size of the movement, not the cost of trading it.
How FlowRegime uses it
FlowRegime normalises against ATR, and it deliberately does not take
that ATR from your chart bars. The measurement comes from a separate
five-minute series — AtrPeriod and AtrMinutes
in the Regime authority group — because the primary chart may
be renko or range, where a bar-based reading means nothing.
What that ATR is then measured against is BarAtrFraction:
the share of it treated as a normal bar's displacement. It is the single
most important calibration in the indicator, and the one thing worth
setting before you touch anything else, because every efficiency reading
is judged against it. On a 5-minute chart it belongs near 0.85 to 1.00 —
a time bar is an ATR bar more or less by definition. On renko or range
bars it belongs far lower, around 0.20 to 0.40 depending on brick size.
The sanity check is the Efficiency plot: on an ordinary bar it should hover around 0.6 to 1.0 rather than pinning at 0 or 2. Everything reading as absorption means the fraction is too high, so displacement always looks small by comparison; everything reading as trend means it is too low.
The practical consequence is that a configuration worked out on one instrument is a reasonable starting point on the next one, instead of a set of numbers that have to be rediscovered from scratch every time you change chart.
Traffic Lights, one of the five indicators bundled with it, applies the
same idea to a different measurement: the separation inside its 20/50
cluster and the distance the 200 has travelled over the slope lookback
are both expressed in ATR units rather than points, and its dashboard
shows them live as R values.
One caveat carries straight into the next guide: bar-based ATR assumes bars have a fixed duration. On renko, range and tick charts they do not, and the denominator stops meaning what you think it means.
Read next
Where this goes wrong, and what it feeds.
Renko, range and tick bars
The case where the denominator above quietly stops working, why it is invisible on the chart, and the standard fix.
Read the guide →
Moving averagesThe 20/50/200 cluster
What the distances being normalised here are actually measuring, and why separation beats crossovers.
Read the guide →
Watch the R values on your own charts.
Seven days of the full indicator, no card charged and nothing to cancel. The dashboard shows separation and slope live, in ATR units.