Skip to content
Indicators 9 min read

Average true range (ATR): calculation and how to read it

How to calculate true range and ATR with Wilder smoothing, a worked 14-session example, ATR as a percentage of price, and what ATR cannot tell you.

Hypothetical daily chart: small candles in a narrow range, then larger candles and gaps as price declines, with ATR(14) as a percentage of the close rising in the pane below.Range expansion1234ATR(14) as % of close
Daily candles on hypothetical data with ATR(14) as a percentage of the close. During the quiet stretch ATR ends at 1.24% of price; once ranges widen and price gaps lower (shaded), it climbs to 4.84% by the last session. ATR rises with the size of moves, here in a decline; it would rise in the same way during an advance.

ATR measures how far a stock typically travels in a session, gaps included. It describes the size of moves, not their direction, and it changes slowly by design.

What average true range measures

Average true range, or ATR, measures how much a stock typically moves in a session, counting a gap from the prior close as part of the move. J. Welles Wilder Jr. introduced it in New Concepts in Technical Trading Systems (1978). ATR is in price units: an ATR of 1.20 on a daily chart means the smoothed true range has been about $1.20 per session over the lookback, usually 14 sessions.

ATR at a glance
PropertyATR
InputsDaily highs, lows and closes
Standard lookback14 sessions
SmoothingWilder’s average, which gives each new true range a weight of 1/14
UnitsPrice units, or a percentage of the close
DirectionNone: up and down moves count alike
First valueAfter 14 true ranges

Wilder developed ATR for commodity futures, where limit moves and gaps made the plain high–low range understate how far prices traveled. Stocks have the same issue: news released outside trading hours can make a stock open well above or below the prior close, and the high–low range of that session misses the jump.

How to calculate true range for stocks

True range extends a session’s high–low range to cover any gap from the prior close. It is the largest of three distances.

true range = max(high − low, |high − prior close|, |low − prior close|)
prior close
The close of the previous session.
|x|
The absolute value of x, so every distance is positive.

On an ordinary session the high–low range is the largest of the three. After a gap up, the distance from the prior close to the high is larger; after a gap down, the distance from the prior close to the low is. True range is never negative, so ATR has no sign.

True range for 18 hypothetical sessions
SessionHigh ($)Low ($)Close ($)High − low|High − prior close||Low − prior close|True range
050.6049.8050.20
150.9050.0550.700.850.700.150.85
251.1050.4050.550.700.400.300.70
350.8550.1050.300.750.300.450.75
450.7549.9550.600.800.450.350.80
551.3550.5051.200.850.750.100.85
652.6051.8552.400.751.400.651.40
752.9052.0552.250.850.500.350.85
852.7051.9052.100.800.450.350.80
952.4551.6051.750.850.350.500.85
1052.0551.3051.950.750.300.450.75
1150.9550.1050.400.851.001.851.85
1250.8049.9050.650.900.400.500.90
1351.0550.3550.850.700.400.300.70
1451.3050.5551.100.750.450.300.75
1551.6050.8050.950.800.500.300.80
1652.8550.7052.602.151.900.252.15
1753.4052.3053.101.100.800.301.10
1853.2052.2052.451.000.100.901.00

Sessions 6 and 11 gapped. Session 6 traded entirely above the prior close of 51.20: its low was 51.85, so its high–low range is 0.75, but its true range is 1.40, the distance from the prior close to the high. Session 11 traded entirely below the prior close of 51.95: range 0.85, true range 1.85.

A series that has no prior close for its first bar is usually started with high − low for that bar. This example begins with session 0 so that every true range uses the full rule.

Average true range calculation with Wilder smoothing

ATR is Wilder’s smoothed average of true range. The first value is the simple average of the first 14 true ranges; each later value gives the newest true range a weight of 1/14.

first ATR = (sum of the first 14 true ranges) ÷ 14
next ATR = (prior ATR × 13 + current true range) ÷ 14
ATR % of close = ATR ÷ close × 100

In the example, the true ranges of sessions 1 to 14 sum to 12.80, so the first ATR, at session 14, is 12.80 ÷ 14 = 0.9143.

ATR(14) with Wilder smoothing, sessions 14–18
SessionClose ($)True range ($)ATR(14) ($)ATR % of close
1451.100.750.91431.79
1550.950.800.90611.78
1652.602.150.99501.89
1753.101.101.00251.89
1852.451.001.00231.91

Session 16 had a wide range: a true range of 2.15, more than twice the prior ATR. ATR rose from 0.9061 to 0.9950, an increase of about 0.089: one fourteenth of the amount by which the new true range exceeded the prior ATR, (2.15 − 0.9061) ÷ 14 ≈ 0.089. One wide session nudges ATR; a run of them moves it.

Values are rounded for display; each step uses the unrounded figures. ATR itself divides by no market value, so it has no zero-denominator case. ATR as a percentage divides by the close, which is positive for any traded stock.

Average true range versus the daily price range

The plain daily range, high minus low, ignores gaps. ATR includes them, so it is at least as large as the average high–low range over the same sessions, and larger whenever price gapped.

Daily range and true range over sessions 1–14 of the example
MeasureAverage, sessions 1–14 ($)What it includes
High − low0.7964Movement within each session
True range (the first ATR)0.9143Movement within each session plus any gap from the prior close

The difference, 0.1179 per session, comes entirely from the two gap sessions. Their true ranges exceed their high–low ranges by 0.65 and 1.00, a total of 1.65, and 1.65 ÷ 14 = 0.1179.

For stocks that rarely gap, the two measures stay close. For stocks that gap often, for example around earnings reports, the plain range can understate how far price moved from one session to the next.

ATR percentage explained

ATR in dollars cannot compare stocks with different prices: $2.00 is a large daily move for a $25 stock and a small one for a $400 stock. Dividing by the close expresses ATR as a percentage of price.

The same ATR at different prices (hypothetical)
StockClose ($)ATR(14) ($)ATR % of close
A25.002.008.00
B400.002.000.50
C80.002.403.00

In CleverScan, the field atrPct14 is ATR(14) as a percentage of the close, and the function ATR(14) returns ATR in price units. The two rules below express the same condition: an average true range above 3% of price.

securityType = "Stock" and atrPct14 > 3
securityType = "Stock" and ATR(14) / close * 100 > 3

A threshold such as 3% is a choice, not a standard. What counts as a wide range differs between a utility and a small biotechnology company, so compare a reading with the stock’s own history as well as with other stocks.

How to read average true range on a stock chart

ATR is usually drawn as a single line in a pane below price. Its level gives the typical size of a session’s move, and its slope shows whether moves are getting larger or smaller.

  • Compare ATR with price. An ATR of 1.50 on a $50 stock means sessions have typically covered about 3% of price.
  • Read the slope as well as the level. A rising line means recent true ranges are larger than the average they are joining.
  • Compare a stock with its own history. A reading that is high for one stock can be ordinary for another.
  • Use ATR to put a move in proportion. A $2.00 move equals 4 ATRs in a stock whose ATR is 0.50, but only 0.5 ATR in a stock whose ATR is 4.00.

Traders also express distances in multiples of ATR, for example how far a level sits from the current price. That is a way of measuring, not a recommendation about where to place an order; the guides on stop-loss and profit targets and position sizing discuss those choices.

TradeClever’s Stock Charts show the daily candles whose ranges and gaps make up true range, and CleverScan rules can filter stocks on atrPct14 or ATR(14).

ATR expansion on a stock chart

ATR expansion means the line is rising because recent true ranges are larger than the current average. It often accompanies breakouts, sharp declines and news-driven sessions. ATR contraction is the opposite: narrow ranges and few gaps.

The illustration on this page shows both phases on hypothetical data. During the quiet stretch, ATR ends at 1.24% of the close; once ranges widen and price gaps lower, it climbs to 4.84% by the last session.

Expansion says nothing about direction. In the illustration it comes with a decline, but rising ATR can equally accompany a strong advance. Because each new session carries only 1/14 of the weight, ATR keeps rising for a while after ranges widen and falls back slowly once they narrow.

Quiet periods are often followed by more active ones, but a low ATR does not schedule the next large move or reveal its direction.

ATR versus standard deviation for volatility

ATR and the standard deviation of returns both describe volatility, but they measure different things. ATR measures the size of each session’s full range; the standard deviation measures how widely daily returns spread around their own average.

Two measures of volatility
AspectATRStandard deviation of daily returns
InputsHigh, low and prior close of each sessionClose-to-close percentage changes
What countsThe full range of each session, gaps includedHow far each return lies from the average return
UnitsPrice units, or a percentage of pricePercent per session
WeightingWilder smoothing over 14 sessionsEqual weights over a fixed window, such as 21 sessions
DirectionIgnoredIgnored

The difference shows in a steady trend. A stock that closed exactly 1% higher every session would have a standard deviation of daily returns of 0, yet its ATR would be at least about 1% of price, because every session covers at least that distance from the prior close.

In CleverScan, volM1Pct and volM3Pct are standard deviations of daily percentage returns over 21 and 63 sessions, so they sit naturally beside atrPct14. A high ATR percentage with a modest standard deviation can point to wide intraday ranges or gaps that closing prices do not fully reflect.

securityType = "Stock" and atrPct14 > 3 and volM1Pct < 2

Stocks whose average true range is above 3% of price while the standard deviation of their daily returns over the last 21 sessions is below 2%.

Limitations of average true range

ATR is a measure of size, and most of its limits follow from that.

  • It has no direction. A rising ATR fits a rally and a sell-off equally.
  • It lags. Wilder’s smoothing spreads a burst of volatility over many sessions, both on the way up and on the way down.
  • Dollar values do not compare across stocks; the percentage form does.
  • One extreme session, such as an earnings gap, keeps ATR higher for weeks while its weight decays.
  • It describes the past. A low ATR does not mean a stock stays quiet.
  • It ignores the path within a session and the volume behind it.

Sources

  • J. Welles Wilder Jr., New Concepts in Technical Trading Systems (1978)
Read the CleverScan syntax reference

Read our data and methodology notes for calculation context. This guide explains research tools and observations. It does not recommend a trade or investment.

Follow your curiosity

One good question leads to another.

All guides
Make room for better research

Put your curiosity to work.

Build a scan with filters or CleverScan rules. Explore the results. Find your next idea.

Write a CleverScan rule