ATR vs. average daily range: the difference

Average daily range measures the session's high-low span. ATR also accounts for gaps from the previous close.

Average daily range measures the average distance between each session's high and low. Average true range (ATR) averages a broader measure called true range, which also compares the current session with the previous close and therefore captures overnight gaps.

Neither measure is universally better. Average daily range answers how wide the trading session itself has been, while ATR answers how much price moved between one close and the next session's extremes. Both measure movement, not direction, and neither predicts how far price must travel today.

One gap, two different answers

Imagine a fictional stock closes at $50 on Monday. On Tuesday it gaps up, opens at $55, trades as low as $54 and as high as $57, then closes at $56.

Its Tuesday high-low range is $3:

Daily range = high - low
            = $57 - $54
            = $3

Its true range is $7 because the calculation includes Monday's $50 close:

True-range candidateCalculationResult
Tuesday high minus Tuesday low$57 - $54$3
Absolute Tuesday high minus Monday close`$57 - $50`$7
Absolute Tuesday low minus Monday close`$54 - $50`$4

True range takes the largest of those three values, so Tuesday's true range is $7. The ordinary daily range records only the $3 travelled between Tuesday's low and high. ATR can preserve the additional movement created between Monday's close and Tuesday's prices.

That does not make the $7 reading a forecast, a profit target, or evidence that the gap will hold. It describes movement that has already occurred under a broader definition.

How average daily range is calculated

For one completed daily session:

Daily range = session high - session low

A simple N-day average daily range (ADR) is the arithmetic mean of those completed-session ranges:

ADR(N) = sum of the last N daily high-low ranges / N

Suppose the last five finalized ranges were $2.20, $2.80, $2.40, $3.10 and $3.50. A simple five-day ADR would be:

Five-day ADR = ($2.20 + $2.80 + $2.40 + $3.10 + $3.50) / 5
             = $14.00 / 5
             = $2.80

The useful conclusion is narrow: those five sessions traded $2.80 from low to high on average. The calculation does not say where each session opened, which extreme came first, where price closed, or how much movement occurred outside regular-session trading.

“ADR” is not a complete formula on its own. A platform may use a different lookback, include a still-open day, define different session hours, or display the result as a percentage. Read the documentation before comparing two values.

How average true range is calculated

True range (TR) adds the previous close to the daily high-low comparison. For daily bar t:

TRt = max(
  hight - lowt,
  |hight - closet-1|,
  |lowt - closet-1|
)

ATR then smooths a sequence of true ranges. Wilder-style ATR is commonly updated recursively:

Latest ATR = ((previous ATR x 13) + latest true range) / 14

Other implementations use a simple moving average or another smoothing method. A 14-period Wilder-smoothed ATR and a simple mean of 14 true ranges can differ after a large gap or wide session even when both labels say “ATR(14).” The period count is only one part of the definition.

HeraldGoat's documented version-one daily ATR uses the simple arithmetic mean of 14 true ranges from finalized daily bars:

HeraldGoat ATR(14) = (TRt + TRt-1 + ... + TRt-13) / 14

That calculation requires 15 consecutive daily bars because the oldest true range still needs the preceding session's close. If the required history is missing, the result should remain unknown rather than be filled with a shorter, unlabelled lookback.

Why gaps create the difference

When the previous close falls inside the current session's high-low interval, true range equals ordinary range. If Monday closes at $55 and Tuesday trades between $54 and $57, all of the close-to-extreme movement is already contained inside Tuesday's $3 range.

The measures separate when price gaps beyond the previous close. A gap up can make the current low higher than the previous close. A gap down can make the current high lower than the previous close. In either case, high minus low omits part of the close-to-session movement, while true range extends the measurement back to the previous close.

This distinction matters most when your question includes what happened between sessions. It matters less when you deliberately want to isolate the movement made during the selected session.

Use the measure that matches the question

If you want to ask...Start with...Why
How wide was the regular trading session from low to high?Daily range or ADRIt isolates the session's high-low span.
How much movement occurred from the prior close through today's extremes?True range or ATRIt includes a gap when the previous close sits outside today's range.
Is today's session unusually wide against recent sessions?Today's high-low range divided by prior ADRBoth sides use the same high-low definition.
Is today's close-to-extreme movement unusual against recent movement?Today's true range divided by prior ATRBoth sides include gaps under the same true-range definition.

Keep the current observation out of its own baseline when the question is whether that observation was unusual. Comparing today's range with an ADR that already includes today, or today's true range with an ATR that already includes today, moves the baseline toward the event being evaluated.

The table is a decision aid, not a universal ranking. A process may use both measures because they answer different questions.

Dollars and percentages answer another question

ADR and ATR are usually expressed in the instrument's price units. A $3 reading means $3 whether the stock trades at $20 or $300, but it represents a very different percentage of each price.

A normalized version divides the range measure by a stated reference price and multiplies by 100:

Range percentage = range value / reference price x 100

If a stock closes at $50, a $2.50 measure is 5% of that close. If another closes at $250, the same $2.50 is 1%. Percentage normalization can make cross-stock comparisons more interpretable, but the denominator must be named. Current close, previous close and another reference price can produce different percentages.

Changing the units does not change the underlying gap treatment. ADR% still begins with a high-low definition. ATR% still begins with true range. Nor does a percentage make either measure directional.

What neither measure tells you

ADR and ATR summarize historical movement. They do not tell you:

  • Whether price will rise or fall.
  • Whether today's range is complete while the session is still open.
  • Whether a gap will continue, reverse, or remain open.
  • Which price extreme will occur first.
  • Whether a breakout has positive expectancy.
  • Where to enter, exit, or place a stop.
  • How much capital to risk or which position size is appropriate.

A stock can exceed its recent ADR or ATR. An average is not a ceiling. Treating “100% of ATR” as proof that no movement remains confuses a historical summary with a boundary on the next observation.

Common comparison mistakes

Comparing different lookbacks

A five-day ADR reacts more quickly than a 20-day ADR. A 14-period ATR and a 20-period ATR summarize different histories. Match the lookback before explaining a difference.

Ignoring the smoothing method

Wilder smoothing, a simple moving average and an exponential moving average place different weights on old and recent true ranges. State the method, especially after an unusual bar.

Mixing sessions

Regular-session highs and lows will not necessarily match a series that includes extended hours. Use the same session policy for every bar in the numerator and baseline.

Comparing dollars with percentages

A dollar range and a percentage range are not interchangeable. Preserve the units and the percentage denominator.

Using an unfinished day as if it were final

The live high-low range can only stay the same or expand until the session finishes. Label intraday values as provisional, and do not compare them casually with finalized daily history.

Turning an average into a target

Neither ADR nor ATR promises that price will reach a particular distance or stop after reaching it. Any target, stop, or sizing rule is a separate strategy decision that needs its own evidence and risk limits.

What to check next

When ADR and ATR disagree, work through the definitions before reading meaning into the gap:

  1. Name the range. Is the numerator high minus low, or true range including the previous close?
  2. Check the gap. Did the previous close sit outside the current session's high-low interval?
  3. Match the history. Confirm the lookback, completed bars, and whether the current observation enters the baseline.
  4. Match the smoothing. Identify a simple mean, Wilder smoothing, or another method.
  5. Match the session and feed. Check regular versus extended hours, corporate-action adjustments, and the underlying data source.
  6. Preserve the units. Record dollars, points, or percentage and name any percentage denominator.
  7. Return to price. Review direction, closing location, structure, liquidity, event proximity, and your own invalidation and risk rules separately.

These checks explain the number. They do not convert it into confirmation.

Where HeraldGoat fits

Calculating one range comparison is straightforward. Repeating the same definition across a watchlist, preserving the selected bars and showing whether a value is final or unknown, is the mechanical part.

HeraldGoat is being built to place transparent movement context beside a changing setup. Its documented daily feature uses a simple 14-bar average true range from finalized daily bars, so it includes gaps through the true-range formula. It does not silently substitute average high-low range, and it should expose missing history rather than invent a value.

That fact can help a trader see the scale of recent movement. It cannot choose a position size, supply price direction, validate a setup, or make a trading decision. HeraldGoat remains pre-launch, and the trader keeps the process and judgment.

Keep learning

If you want HeraldGoat to repeat the first-pass context across your watchlist, you can join the launch waitlist. You will still make every trading decision.

Sources

Method note: all price figures are hypothetical and rounded for readability. HeraldGoat's documented version-one daily calculation uses a simple mean of 14 true ranges from a consistent series of finalized daily bars. It is not a Wilder-smoothed ATR.

This guide is for educational information only. It is not investment advice, a recommendation, or a promise of trading results. Trading involves risk, including the risk of loss.