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.
| Property | ATR |
|---|---|
| Inputs | Daily highs, lows and closes |
| Standard lookback | 14 sessions |
| Smoothing | Wilder’s average, which gives each new true range a weight of 1/14 |
| Units | Price units, or a percentage of the close |
| Direction | None: up and down moves count alike |
| First value | After 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.
| Session | High ($) | Low ($) | Close ($) | High − low | |High − prior close| | |Low − prior close| | True range |
|---|---|---|---|---|---|---|---|
| 0 | 50.60 | 49.80 | 50.20 | ||||
| 1 | 50.90 | 50.05 | 50.70 | 0.85 | 0.70 | 0.15 | 0.85 |
| 2 | 51.10 | 50.40 | 50.55 | 0.70 | 0.40 | 0.30 | 0.70 |
| 3 | 50.85 | 50.10 | 50.30 | 0.75 | 0.30 | 0.45 | 0.75 |
| 4 | 50.75 | 49.95 | 50.60 | 0.80 | 0.45 | 0.35 | 0.80 |
| 5 | 51.35 | 50.50 | 51.20 | 0.85 | 0.75 | 0.10 | 0.85 |
| 6 | 52.60 | 51.85 | 52.40 | 0.75 | 1.40 | 0.65 | 1.40 |
| 7 | 52.90 | 52.05 | 52.25 | 0.85 | 0.50 | 0.35 | 0.85 |
| 8 | 52.70 | 51.90 | 52.10 | 0.80 | 0.45 | 0.35 | 0.80 |
| 9 | 52.45 | 51.60 | 51.75 | 0.85 | 0.35 | 0.50 | 0.85 |
| 10 | 52.05 | 51.30 | 51.95 | 0.75 | 0.30 | 0.45 | 0.75 |
| 11 | 50.95 | 50.10 | 50.40 | 0.85 | 1.00 | 1.85 | 1.85 |
| 12 | 50.80 | 49.90 | 50.65 | 0.90 | 0.40 | 0.50 | 0.90 |
| 13 | 51.05 | 50.35 | 50.85 | 0.70 | 0.40 | 0.30 | 0.70 |
| 14 | 51.30 | 50.55 | 51.10 | 0.75 | 0.45 | 0.30 | 0.75 |
| 15 | 51.60 | 50.80 | 50.95 | 0.80 | 0.50 | 0.30 | 0.80 |
| 16 | 52.85 | 50.70 | 52.60 | 2.15 | 1.90 | 0.25 | 2.15 |
| 17 | 53.40 | 52.30 | 53.10 | 1.10 | 0.80 | 0.30 | 1.10 |
| 18 | 53.20 | 52.20 | 52.45 | 1.00 | 0.10 | 0.90 | 1.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 × 100In 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.
| Session | Close ($) | True range ($) | ATR(14) ($) | ATR % of close |
|---|---|---|---|---|
| 14 | 51.10 | 0.75 | 0.9143 | 1.79 |
| 15 | 50.95 | 0.80 | 0.9061 | 1.78 |
| 16 | 52.60 | 2.15 | 0.9950 | 1.89 |
| 17 | 53.10 | 1.10 | 1.0025 | 1.89 |
| 18 | 52.45 | 1.00 | 1.0023 | 1.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.
| Measure | Average, sessions 1–14 ($) | What it includes |
|---|---|---|
| High − low | 0.7964 | Movement within each session |
| True range (the first ATR) | 0.9143 | Movement 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.
| Stock | Close ($) | ATR(14) ($) | ATR % of close |
|---|---|---|---|
| A | 25.00 | 2.00 | 8.00 |
| B | 400.00 | 2.00 | 0.50 |
| C | 80.00 | 2.40 | 3.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 > 3securityType = "Stock" and ATR(14) / close * 100 > 3A 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.
| Aspect | ATR | Standard deviation of daily returns |
|---|---|---|
| Inputs | High, low and prior close of each session | Close-to-close percentage changes |
| What counts | The full range of each session, gaps included | How far each return lies from the average return |
| Units | Price units, or a percentage of price | Percent per session |
| Weighting | Wilder smoothing over 14 sessions | Equal weights over a fixed window, such as 21 sessions |
| Direction | Ignored | Ignored |
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 < 2Stocks 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.
Continue with
- Volatility stock screenerStock lists built on volatility measures.
- Screening for volatilityHow to build a volatility screen.
- Stock price gapsHow gaps form and how to read them.
- Compare technical indicatorsHow common indicators differ.
Sources
- J. Welles Wilder Jr., New Concepts in Technical Trading Systems (1978)
Read our data and methodology notes for calculation context. This guide explains research tools and observations. It does not recommend a trade or investment.