Blog/Technical Analysis
Technical AnalysisOct 4, 202612 min read

Average True Range (ATR): The Volatility Number Behind Every Stop

The average true range (ATR) indicator measures how much a stock typically moves per bar. The true range formula with its three-way max, Wilder's 14-period smoothing worked through bar by bar, why ATR is a volatility level and not a direction, ATR as a percent of price, how it reads on a quiet chart versus a fast one, and a short note on ATR stops.

BL
Benjamin Loh
Founder of SnapPChart · trader and dev

Most stop-loss conversations end up at the same number. How far away is normal? ATR is the answer people reach for, and it is also one of the most misread indicators on a chart, because the line has no direction. It does not go up when the stock goes up. It goes up when the bars get bigger. This post is the mechanics: what true range is, how Wilder's 14-period smoothing turns it into the line you see, with the arithmetic worked out, and what that line can and cannot tell you.

Quick Answer

Average true range in one paragraph

The average true range (ATR) is a volatility indicator developed by J. Welles Wilder. True range is the greatest of three distances: high minus low, the absolute value of high minus the previous close, and the absolute value of low minus the previous close. ATR is a running average of true range, typically over 14 periods: current ATR = ((prior ATR x 13) + current TR) / 14. It is in price units, so it is not comparable across stocks until you divide it by price. It says how big the bars are, never which way price is heading.

Each piece gets its own section, with a worked example you can check by hand.

What Is the ATR Indicator?

ATR answers one question: on this chart, how far does price typically travel per bar? The StockCharts ChartSchool article on Average True Range credits it to J. Welles Wilder and describes it as an indicator that measures volatility. Wikipedia's entry dates it to Wilder's 1978 book New Concepts in Technical Trading Systems and says the indicator gives no indication of price trend, only the degree of price volatility.

On a chart it is a single line in its own pane, usually under the price. In dollars on a stock, in points on an index, in pips on a forex pair. A reading of 0.64 on a $51 stock means the stock has been covering about 64 cents per bar once you count gaps. It is not a signal, it has no overbought line, and it does not cross anything. It is a measurement, which is exactly why other indicators borrow it: Keltner channels and Supertrend are both built on ATR, and the Keltner Channel guide and the Supertrend breakdown cover what each does with it.

True Range: The Three-Way Max

The "true" in the name is the point. The plain range of a bar is high minus low. That misses everything that happened between bars. A stock that closes at $50.50 and opens the next day at $51.50 has moved a dollar before the first trade, and a bar whose high-low is only 60 cents would hide it. Wilder's fix is to take the largest of three distances.

True range (TR)

TR = the greatest of: (1) current high - current low, (2) |current high - previous close|, (3) |current low - previous close|

That is the definition as StockCharts gives it. Most bars are an ordinary day and the first leg wins. The other two only matter when price gaps away from the previous close. If the stock gaps up and the whole bar trades above the old close, leg 2 wins. If it gaps down and the whole bar trades below it, leg 3 wins. The worked table below has one of each, so you can see where the max switches.

How ATR Is Calculated, Bar by Bar

Hypothetical numbers, 14 bars plus one. Bar 0 only supplies the first previous close ($50.10), so every row below can use all three legs. For each bar the table shows the three distances and the one that wins.

True range, bar by bar
hypothetical bars. not market data
BarHighLowPrev closeH - L|H - PC||L - PC|TR
150.5549.9550.100.600.450.150.60
250.7050.2050.450.500.250.250.50
350.5049.9050.300.600.200.400.60
450.1549.5550.000.600.150.450.60
550.2049.6549.700.550.500.050.55
650.6550.0550.100.600.550.050.60
750.9050.3550.600.550.300.250.55
851.5550.9550.500.601.050.451.05
951.6050.9051.450.700.150.550.70
1051.3050.7051.000.600.300.300.60
1151.3550.8551.200.500.150.350.50
1250.8550.1550.950.700.100.800.80
1350.5549.9550.300.600.250.350.60
1451.0550.4050.500.650.550.100.65
1551.9050.7050.951.200.950.251.20

Look at bar 8. The high-low is $0.60, but the stock closed bar 7 at $50.50 and bar 8 traded no lower than $50.95, so the high minus the previous close is $1.05 and that is the true range. On bar 12 the stock closed the prior bar at $50.95 and the whole bar traded below it, so the low minus the previous close ($0.80) beats the $0.70 high-low. Every other row is plain high minus low.

Turning true range into ATR

The first ATR is a plain average. Add the 14 true ranges from bars 1 to 14: the total is $8.90, and $8.90 / 14 = $0.6357, which rounds to $0.64. (StockCharts describes the first TR as simply high minus low, and the first 14-day ATR as the average of the daily TR values over the last 14 days. Here every row has a previous close, so each uses all three legs.)

From there it is a running average, Wilder's smoothing: current ATR = ((prior ATR x 13) + current TR) / 14. Bar 15 is a wide bar with a true range of $1.20. So ATR(15) = (0.6357 x 13 + 1.20) / 14 = (8.264 + 1.20) / 14 = 9.464 / 14, which is about $0.68. One bar nearly twice the size of the average moved ATR from 0.64 to 0.68, not to 1.20. Each new bar carries a weight of one fourteenth, which is why ATR is smooth, and why it is slow.

Before you size the stop

ATR tells you how much room a normal bar needs. It doesn't tell you whether the level you are protecting is the right one.

Upload the screenshot and SnapPChart grades that single image as a momentum continuation setup: structure, levels, EMAs, VWAP and the volume bars in frame, then an entry, a stop with its reasoning, targets and the reward-to-risk they imply.

Grade this chart

How to Read ATR: A Level, Not a Direction

This is the part most people get wrong. StockCharts says it directly: it is important to remember that ATR doesn't indicate price direction, just volatility, and it is not a directional indicator like MACD or RSI. A rising ATR can come from a stock breaking out or a stock breaking down. A falling ATR means ranges are shrinking, which can happen in a drifting uptrend or a dead range.

So the useful read is the level and the change in it, in time. Rising: bars are getting bigger than they were. Falling: smaller. Flat: the current rhythm is steady. That is the whole vocabulary. It does not tell you to buy, sell, or that a move is about to start. If you want a rough idea of whether a chart is compressing or expanding, ATR is one way to see it, and the Bollinger Bands guide shows another through band width.

The period matters the same way it does on any lookback. StockCharts says ATR is typically based on 14 periods, and notes that Wilder often used 8 in his own work. A shorter period follows the current bars more closely and jumps more. A longer one is smoother and slower to notice that the chart changed.

ATR as a Percent of Price

ATR is in price units, and that makes it awkward across stocks. StockCharts is explicit that it is not shown as a percentage of the current close, so low-priced stocks have lower ATR values than high-priced stocks, and the raw values are not comparable. Divide by price to fix it: ATR% = ATR / close x 100.

Hypothetical example. A $5.00 stock with an ATR of $0.20 and a $500.00 stock with an ATR of $2.50. The $500 stock has more than ten times the ATR in dollars. But $0.20 / $5.00 x 100 = 4.0%, and $2.50 / $500.00 x 100 = 0.5%. The cheap stock is eight times as volatile in percentage terms. In the worked example above, ATR(14) of $0.64 on a $50.95 close is 1.25% of price.

Percent matters in two places. When you compare two tickers on a watchlist, and when the same stock has changed a lot in price, because an ATR from when it was $20 is not the same thing as one now that it is $60. If you size by dollars at risk, the position sizing guide covers how the stop distance turns into share count.

ATR on a Quiet Chart vs a Fast One

Same indicator, two very different charts. The diagram below is built from 40 made-up bars: a seed bar, 20 quiet ones, then 19 fast ones. The bottom pane is ATR(14) computed from them.

Illustrative only: hypothetical bars with ATR(14) computed from them

Average true range diagram: price above a 14-period ATR line, quiet stretch then fast stretchTwo stacked panes built from 40 made-up bars. The top pane shows closing price with a short vertical bar for each high and low. For the first 20 bars the bars are small and price drifts gently from 50 to about 51.4. From bar 21 the bars are much taller and price swings up to about 58, then pulls back to 56. The bottom pane shows ATR(14) computed from those bars: about 0.23 at bar 20, then rising steadily to about 0.74 at bar 39. ATR rises through the fast stretch and lags the bar size, and it would rise the same way if price had been falling.price (hypothetical closes, with each bar's high and low)ATR(14), dollarsquiet stretchfast stretchbar 20: ATR 0.23bar 39: ATR 0.74ATR starts at bar 14, the first full 14-bar averagemade-up bars, ATR computed from them. not market data
Illustrative ATR(14) under hypothetical price: a quiet stretch, then a fast stretch where the bars get bigger and ATR climbs behind them

The table puts numbers on it. Two things stand out. First, ATR lags: the average bar range over the fast stretch is $0.89, but ATR at bar 39 reads $0.74, still catching up, because each new bar only carries a fourteenth of the weight. Second, the percent view makes the change obvious: ATR went from 0.45% of price on the quiet stretch to 1.32% on the fast one, roughly three times.

Quiet chart vs fast chart
computed from the hypothetical 40-bar series
MeasureQuiet stretchFast stretch
Average bar range (bars 1 to 20 vs 21 to 39)$0.24$0.89
ATR(14) at the end of the stretch (bar 20 vs bar 39)$0.23$0.74
Close at that bar$51.38$56.06
ATR as a percent of close0.45%1.32%
What one ATR of room looks likeAbout a quarter of a dollarAbout three quarters of a dollar
Same stop distance, in ATRsA $0.50 stop is about 2.2 ATRA $0.50 stop is about 0.7 ATR

The last row is the whole reason traders watch it. A 50 cent stop is about two ATRs on the quiet stretch, a lot of room. On the fast stretch the same 50 cents is less than one ATR, which is inside a normal bar. Nothing about the stop changed. The chart did. That is also why a number you used last week can be wrong this week.

ATR Indicator Stop Loss: The Short Version

People mostly use ATR to size the distance of a stop: entry minus some multiple of ATR for a long, so the stop sits outside the noise of a normal bar. That is the whole idea, and it is general knowledge rather than a rule from any one source. The multiple is a choice you make. There is no number the indicator hands you, and a stop that is only an ATR multiple can still land in the middle of nothing, with no structure behind it.

Where the stop goes relative to structure, how to pick between a structure stop and a volatility stop, and a worked example are all in the AI stop loss placement guide, so this post does not repeat them. The risk side, how much to lose per trade before the stop even matters, is in the day trading risk management rules.

Reading ATR without fooling yourself
a size, in price units. nothing more
You know which period your ATR line uses, and what it covers in time on this chartPASS
You divide by price before comparing two stocksPASS
You read a rising ATR as bigger bars, not as a stock going upPASS
You remember ATR lags, so a fresh burst is bigger than the line saysPASS
You treat the multiple on a stop as your own choice, with structure behind the levelPASS
Treating a rising ATR as a buy signalWATCH
Comparing the raw ATR of a $5 stock with a $500 stockWATCH
Reusing last month's ATR distance on a chart that has since gone quiet or fastWATCH

ATR and the Screenshot: What SnapPChart Does

The precise version, since this is easy to oversell. SnapPChart reads one chart screenshot you upload. It never calculates ATR and it never picks an ATR multiple for a stop. If you plot ATR under the chart before you take the screenshot, the line is in the image like everything else, but nothing in the grader's instructions tells it to read it. Those instructions name EMAs, VWAP, MACD and volume, plus structure and levels.

What you get is a setup grade for a momentum continuation, with an entry, a stop and the reasoning behind that stop's level, targets and the reward-to-risk they imply. It takes continuation setups only, a pullback in an established uptrend or a rally in an established downtrend, and it does not take reversals. So ATR stays yours: check the stop distance it gives you against your own ATR(14) on that timeframe, and decide whether it holds up. What a single image carries is described on the AI chart analysis page, and the broader question of which indicators earn space on an intraday chart is in the indicator roundup for day traders.

The short version to act on

True range is the greatest of high - low, |high - previous close| and |low - previous close|. ATR is a running average of it, typically over 14 periods, with current ATR = ((prior ATR x 13) + current TR) / 14. It measures bar size, not direction. It is in price units, so divide by price to compare stocks. It lags, so a fresh burst of volatility is bigger than the line shows. Use it to check the distance of a stop. SnapPChart does not calculate it.

Frequently Asked Questions

Does a rising ATR mean the stock is going up?

No. ATR measures how big the bars are, not which way they point. A stock sliding hard on wide red candles pushes ATR up just as a stock ripping higher on wide green ones does. StockCharts puts it plainly: ATR doesn't indicate price direction, just volatility. A rising ATR says the ranges are getting bigger. Whether that is good news depends on which side of the trade you are on.

Why does ATR use the previous close and not just the high minus the low?

Because a lot of the movement happens between bars, not inside them. If a stock closes at $50.50 and opens the next session at $51.50, the gap is real movement that a plain high-minus-low would miss. In the worked example above, bar 8 has a high-minus-low of only $0.60 but a true range of $1.05 because the stock gapped up past the prior close. True range takes the largest of three distances precisely so the gap is counted.

What ATR period should I use?

Fourteen is the common default. StockCharts says ATR is typically based on 14 periods and notes that Wilder himself often used 8 in his work. A shorter period reacts faster and jumps around more. A longer one is smoother and slower to notice a change. The useful way to choose is to say out loud how many bars of history you want in the average on the timeframe you actually trade.

Why is my ATR different on another platform or from the spreadsheet?

Small differences usually come from the seed and the smoothing. The first value is an average of the first 14 true ranges, after which Wilder's running average takes over, so where the series starts changes the early numbers and the effect fades slowly. Some tools may also use a simple average instead of Wilder's version. StockCharts also warns that spreadsheet values for a small subset of data may not match exactly with what you see on the chart. Check the settings before assuming one is wrong.

Can I compare the ATR of two different stocks?

Not directly. ATR is in price units, so a $500 stock will usually have a bigger ATR than a $5 stock even if the cheaper one is moving far more in percentage terms. StockCharts notes that ATR is not shown as a percentage of the current close, so low-priced stocks have lower ATR values than high-priced stocks and the raw values are not comparable. Divide ATR by the close to put them on the same footing.

Does SnapPChart read or calculate ATR?

No. SnapPChart reads only the chart screenshot you upload. It never calculates ATR and it never picks an ATR multiple for a stop. If you plot ATR under your chart before the screenshot, the line is in the image, but nothing in the grader's instructions tells it to read it. Those instructions name EMAs, VWAP, MACD and volume, plus structure and levels. The stop it returns comes with its reasoning, and you can check that reasoning against your own ATR.

Disclaimer

This article is for educational and informational purposes only and is not investment, financial or trading advice. The true range definition, the ATR formula, the 14-period default, the 8-period note, the statement that ATR does not indicate direction and the note that ATR is not shown as a percentage of price are as described by the cited sources (StockCharts ChartSchool and Wikipedia) and are reproduced as their published descriptions, not as rules endorsed here. Every worked example, including the 15-bar true range table, the $0.64 and $0.68 ATR values, the $5 and $500 percent comparison and the 40-bar quiet and fast series, is a hypothetical construction built so the arithmetic can be checked; none is a real security or session. The diagram is illustrative and computed from made-up bars, not market data. No win rate, success rate or backtest is claimed for ATR, any period, any multiple or any stop. Indicator readings describe price that has already traded and do not predict direction. Day trading carries a substantial risk of loss and is not suitable for every investor. SnapPChart grades a static chart screenshot you upload and returns a setup grade, entry, stop, targets and reasoning for that single image; it grades momentum continuation setups only, does not calculate or read ATR, does not choose an ATR multiple, does not take reversal or counter-trend setups, and does not use live data. Do your own analysis, size positions so that being wrong is survivable, and consider speaking to a licensed financial professional about your own circumstances before trading.

BL
Benjamin Loh
Founder of SnapPChart · trader and dev

Writes about AI-assisted day trading, technical analysis, and the systems traders actually use to stay disciplined.

ATR tells you how far a stock tends to move. It doesn't tell you if the entry is any good.

Upload the chart screenshot and SnapPChart grades that one image as a momentum continuation setup, reading the structure, levels, EMAs, VWAP and volume bars in frame, then returns a setup grade, an entry, a stop with the reasoning behind its level, targets, and the reward-to-risk they imply. One skipped bad entry covers it.

Grade your setupNo card required