Average True Range (ATR): Formula, Wilder Smoothing, and Data Controls
Learn the ATR formula, Wilder smoothing, warm-up rules, ATR Percentage, data adjustments, platform differences, and a replay workflow for measuring volatility.
Average True Range measures recent price range in the instrument's own price units. A reproducible ATR value requires more than selecting “14”: you must define True Range, Wilder smoothing or another averaging method, the initial seed, warm-up history, chart interval, session, timezone, data provider, stock adjustments, futures-roll treatment, and price denominator if you use ATR Percentage.
This page owns the ATR calculation, normalization, and data-control layer. The separate ATR Indicator guide remains the application owner for stop-distance experiments, position-sizing examples, trailing-stop methods, and practical ATR use cases. Keeping those roles separate avoids turning a measurement page into another set of universal stop or target instructions.
Educational note: ATR is historical and directionless. It does not identify a correct entry, stop, target, position size, breakout, or future volatility path by itself.
Key Takeaways
- True Range is the largest of the current high-low range and two previous-close gap measures.
- A common Wilder ATR uses an arithmetic-mean seed, then a recursive smoothing formula with weight
1 / non the latest True Range. - Early ATR values depend on the seed and available history; use a shared warm-up period when comparing platforms.
- Raw ATR is denominated in price units and should not be compared directly across differently priced instruments.
- ATR Percentage normalizes ATR by a specified price denominator, commonly the current close.
- A 14-period ATR on a 5-minute chart is not the same measurement as a 14-period ATR on a daily chart.
- Session, timezone, extended-hours, provider, adjustment, and futures-roll choices can materially change True Range.
- ATR, ADR, standard deviation, Bollinger Bands, ADX, and implied volatility answer different questions.
- Rising ATR does not confirm direction; low ATR does not guarantee a large move.
- Replay should record candidate volatility conditions, confirmation, failure, expiry, and data ambiguity without presenting historical results as live performance.
Which ATR Page Owns Which Question?
| Question | Owner |
|---|---|
| What is True Range, and how is ATR calculated? | This formula and data-control guide |
| How does Wilder smoothing work? | This formula and data-control guide |
| Why do platforms show different ATR values? | This formula and data-control guide |
| How do you compare ATR across prices or instruments? | This formula and data-control guide |
| How can ATR be tested as part of a stop rule? | ATR Indicator guide |
| How can ATR affect position-size calculations? | ATR Indicator guide and position sizing guide |
| How can ATR be used in a trailing-stop study? | ATR Indicator guide |
The measurement owner does not prescribe one multiplier, risk percentage, timeframe, stop placement, or target distance.
1. True Range Formula
For bar t, define:
H_t= current high;L_t= current low; andC_(t-1)= previous bar's close from the same data series.
Then:
TR_t = max(
H_t - L_t,
abs(H_t - C_(t-1)),
abs(L_t - C_(t-1))
)
The absolute values keep the gap terms nonnegative. True Range therefore captures the current bar's visible high-low span and, when larger, the distance from the previous close to the current high or low.
Worked True Range examples
| Previous close | Current high | Current low | High-low | |High-prev close| | |Low-prev close| | True Range | |---:|---:|---:|---:|---:|---:|---:| | 100 | 104 | 98 | 6 | 4 | 2 | 6 | | 100 | 108 | 105 | 3 | 8 | 5 | 8 | | 100 | 95 | 92 | 3 | 5 | 8 | 8 |
The second row captures a gap above the previous close. The third captures a gap below it. These are formula demonstrations, not predictions about what price will do next.
The previous close is a data control
“Previous close” can vary with the chart:
- regular-session close versus an extended-hours close;
- last trade versus an exchange settlement price;
- adjusted versus unadjusted stock history;
- an individual futures contract versus a continuous series;
- a provider's final bar versus another provider's corrected bar; or
- one timezone's daily cutoff versus another's.
If the previous-close source changes, True Range changes even when the current high and low are identical.
2. Wilder ATR Formula
Let n be the chosen ATR length, commonly 14 but not universally correct for every study.
Initial value
A common Wilder implementation uses the arithmetic mean of the first n True Range values:
Initial ATR_n = (TR_1 + TR_2 + ... + TR_n) / n
The first displayed value therefore requires n valid True Range observations. The very first price bar may not have a previous close inside the loaded sample, so the platform must decide whether to omit it, use high minus low, or load earlier history.
Recursive update
For each later bar:
ATR_t = ((n - 1) × ATR_(t-1) + TR_t) / n
The same recurrence can be written as:
ATR_t = ATR_(t-1) + (TR_t - ATR_(t-1)) / n
This gives the newest True Range a weight of 1 / n and carries the previous smoothed value forward with weight (n - 1) / n. TradingView commonly labels this smoothing family RMA or SMMA in its platform documentation.
Wilder smoothing is not a rolling SMA
A rolling simple average drops the oldest True Range after n bars. Wilder's recursive calculation retains decaying influence from older observations through the prior ATR. The two can converge in calm samples but are not mathematically identical.
Some platforms allow SMA, EMA, WMA, or RMA smoothing for an indicator labeled ATR. That setting creates a different series and must be recorded.
3. Warm-Up, Seed, and Convergence
The recursive formula needs a starting value. Different seeds can produce different early ATR readings even when later True Range inputs are identical.
Common seed choices
- arithmetic mean of the first
nTrue Range values; - first available True Range;
- a platform-specific earlier value loaded before the visible chart; or
- an unavailable value until enough history exists.
Why a shared warm-up matters
Suppose Platform A loads two years of history and Platform B loads only 100 bars. Both display the same final 50 candles and use an RMA-style ATR. Their recent values may still differ because the recursive state began from different earlier inputs.
For a comparison:
- obtain the same OHLC series;
- use the same previous-close policy;
- specify the same seed;
- calculate from the same starting bar;
- allow a documented warm-up window; and
- compare values after that window, not only at the first visible ATR point.
There is no universal number of warm-up bars that makes every implementation identical. Report the window used and test whether the difference becomes immaterial for the study's precision.
4. ATR Is Expressed in Raw Price Units
ATR inherits the unit of the underlying price series:
- dollars per share for a USD-priced stock;
- quote-currency units for a spot pair;
- points for an index or futures contract;
- dollars per coin for a USD crypto pair; or
- another provider-specific quote unit.
An ATR of 5 could mean five dollars, five index points, five pips after conversion, or five units of another quote currency. The number has no cross-market meaning without its unit, interval, and price level.
ATR is not a full risk measure
Raw ATR does not include:
- contract multiplier;
- tick value;
- bid-ask spread;
- depth and liquidity;
- gap execution;
- leverage or margin;
- option convexity;
- currency conversion; or
- portfolio correlation.
Those belong to separate product and risk calculations.
5. ATR Percentage for Relative Comparison
A common normalization is:
ATRP_t = (ATR_t / Close_t) × 100
This expresses recent average True Range as a percentage of the selected price denominator.
Denominator policy
The current close is common, but a study may use another frozen denominator, such as:
- previous close;
- moving average;
- adjusted close; or
- a fixed reference price.
Changing the denominator changes ATRP. State the denominator explicitly rather than labeling every normalized version simply “ATR%.”
Comparison example
| Instrument | Price | Raw ATR | ATRP using close |
|---|---|---|---|
| A | 20 | 1 | 5% |
| B | 200 | 4 | 2% |
Instrument B has the larger raw ATR, but Instrument A has the larger range relative to price. This still does not prove that A has greater executable risk because contract value, liquidity, trading hours, and costs remain separate.
Cross-price comparison within one instrument
ATRP can also help when the same instrument's price changes substantially over time. A raw ATR of 4 at a price of 40 represents a different relative range from an ATR of 4 at a price of 200.
6. Chart Period Changes the Measurement
An ATR(14) means fourteen chart bars, not automatically fourteen days.
| Chart interval | What 14 periods summarize |
|---|---|
| 5-minute | Fourteen 5-minute True Ranges |
| 1-hour | Fourteen hourly True Ranges |
| Daily | Fourteen daily True Ranges |
| Weekly | Fourteen weekly True Ranges |
Aggregation changes the high, low, close, gap structure, and previous-close relationship. You cannot convert a 14-period daily ATR into a 14-period hourly ATR by dividing by the number of hours.
Partial bars
A daily ATR viewed before the daily bar closes uses an incomplete high, low, and close if the platform updates the current bar in real time. A closed-bar study should use only completed bars. Otherwise, record that the current ATR can change until the bar closes.
7. Session and Timezone Controls
ATR depends on how raw trades are grouped into candles.
Regular versus extended hours
For an exchange-listed stock, a daily or intraday chart may include:
- regular trading hours only;
- pre-market and post-market trades;
- a combined session; or
- provider-specific session templates.
Including extended hours can change the current high, low, close, and previous close. It can also turn what appears as an overnight gap on a regular-session chart into a sequence of extended-hours bars.
Timezone and daily cutoff
Markets that trade for long hours can produce different daily candles under different timezones. A UTC daily bar and a New York daily bar may contain different trades, highs, lows, and closes. Their ATR values can therefore differ without either calculation being defective.
Futures settlement versus last price
Some futures daily charts can use an official settlement as the close, while intraday bars use last-trade values. The selected close affects gap terms in the next True Range. Record whether the chart uses settlement or last price.
Weekend treatment
Forex and crypto feeds can differ in weekend bars, Sunday sessions, and provider cutoffs. A small Sunday candle, omitted session, or maintenance interval can change the sequence of previous closes and warm-up observations.
For any cross-timeframe study, preserve these controls alongside the rules in multiple-timeframe analysis.
8. Data-Provider Differences
Two vendors can publish different OHLC values because of:
- exchange coverage;
- consolidated versus venue-specific feeds;
- quote versus trade data;
- bad-tick corrections;
- missing trades or bars;
- historical revisions;
- bid, ask, midpoint, index, mark, or last-trade prices;
- decimal precision and rounding;
- session templates; or
- symbol mapping.
Data-quality checklist
Before comparing ATR values, check:
- exact symbol and venue;
- product type and contract;
- quote currency;
- provider and feed;
- chart interval;
- session and timezone;
- OHLC source type;
- missing-bar policy;
- corporate-action adjustment;
- futures-roll construction;
- settlement-versus-last setting;
- smoothing and seed; and
- loaded history and precision.
A difference is evidence of different inputs or implementation until those controls are reconciled.
9. Stock Splits and Dividend Adjustments
Stock splits
A split changes the nominal share price. If historical prices before the split are not adjusted consistently, the transition can create an artificial gap and a very large True Range.
A consistent split-adjusted series should adjust high, low, close, and previous close on the same basis. Mixing an adjusted close with unadjusted highs and lows corrupts the formula.
Dividends
Dividend-adjusted charts can alter historical price levels depending on the provider's method. A total-return-style adjustment is not the same series as an unadjusted trade-price chart. ATR calculated on each can differ, especially around ex-dividend dates and across long history.
Record the choice
For equity studies, store:
- split-adjusted or unadjusted;
- dividend-adjusted or unadjusted;
- adjustment provider;
- effective date of any data revision; and
- whether all OHLC fields share the same adjustment basis.
Do not switch adjustment settings midway through a sample.
10. Futures Contracts and Roll Construction
A specific futures contract has its own expiration and traded price history. A continuous futures symbol is a synthetic series that links multiple contracts.
Individual-contract ATR
ATR on one dated contract reflects that contract's OHLC data. Near expiration, volume and liquidity may migrate to the next contract, so the sample and execution environment can change.
Unadjusted continuous series
When a continuous chart switches contracts, the difference between the old and new contract prices can create a roll gap. True Range may treat that gap as volatility even though it partly reflects term structure and contract substitution rather than one contract's continuous price movement.
Back-adjusted continuous series
A back-adjustment changes historical prices to reduce or remove the roll gap. This creates a smoother research series, but historical prices become synthetic and can differ from actual traded prices at the time.
Ratio-adjusted and other methods
Providers may use additive back-adjustment, ratio adjustment, Panama methods, volume-based rolls, open-interest rolls, fixed-date rolls, or expiration-based rolls. Each method can change highs, lows, closes, and ATR around roll dates.
Record:
- specific contract or continuous symbol;
- roll rule;
- adjustment method;
- switch dates;
- settlement-versus-last policy; and
- whether outcome prices use the same series as the indicator.
Do not compare a back-adjusted ATR with an unadjusted price outcome without explaining the mismatch.
11. Why Platform ATR Implementations Differ
| Control | Possible versions |
|---|---|
| True Range | Standard three-term maximum or a platform variation |
| Smoothing | Wilder/RMA, SMA, EMA, WMA |
| Seed | First n average, first TR, hidden earlier history |
| First bar | High-low, unavailable, or prior hidden close |
| Warm-up | Visible sample only or longer preloaded history |
| Session | Regular, extended, exchange, 24-hour |
| Timezone | Exchange, UTC, user-defined |
| Current bar | Live/incomplete or closed bars only |
| Missing bars | Omitted, filled, carried, or provider-specific |
| Stocks | Split/dividend adjusted or unadjusted |
| Futures | Dated, continuous, back-adjusted, other roll method |
| Close type | Last, settlement, bid, ask, midpoint, mark, index |
| Precision | Internal full precision versus displayed rounding |
A platform screenshot is incomplete evidence unless these settings are included.
12. ATR Versus ADR
“Average Daily Range” is not one universally standardized implementation, but it generally summarizes daily high-low ranges and does not use the previous close in the same way as True Range.
A common distinction is:
Daily Range = Daily High - Daily Low
True Range = max(
High - Low,
abs(High - Previous Close),
abs(Low - Previous Close)
)
ADR can therefore miss an overnight gap that ATR captures. Some platforms calculate ADR as an average of daily ranges; others use the difference between an average high and average low. Record the platform formula instead of assuming every ADR label is identical.
ATR can be calculated on intraday, daily, weekly, or other bars. ADR is specifically framed around daily range in its name and typical use.
13. ATR Versus Standard Deviation and Bollinger Bands
ATR averages ranges. Standard deviation measures dispersion around a mean under a specified return or price series.
Bollinger Bands commonly place bands around a moving average using a multiple of standard deviation. Their width depends on the chosen source, moving-average length, standard-deviation length, multiplier, and population/sample convention.
Differences:
- ATR uses highs, lows, and previous close through True Range.
- Standard deviation can use closes, returns, or another selected series.
- ATR is expressed as an average absolute range measure.
- Standard deviation squares deviations before averaging and taking a square root.
- Bollinger Bands are an overlay around a moving average; ATR is usually a separate volatility series.
Neither method automatically predicts direction or guarantees a volatility expansion.
14. ATR Versus ADX
Average Directional Index is a trend-strength indicator. Its calculation uses directional movement and a True Range-related denominator, but ADX is not the same output as ATR.
- ATR asks: how large has recent True Range been?
- ADX asks: how strong is directional movement under its smoothing system?
- ATR has no positive or negative direction.
- ADX typically combines smoothed +DM, -DM, True Range, directional indicators, and a final smoothing stage.
An increasing ADX and increasing ATR can occur together, separately, or in different directions. Do not substitute one for the other.
15. ATR Versus Implied Volatility
Implied volatility is derived from option prices under an option-pricing model and market inputs. It reflects the volatility level consistent with those option prices, subject to model assumptions, strike, expiration, interest rates, dividends, supply, and demand.
ATR is calculated from historical OHLC bars. It does not use option prices and is not an annualized forecast by default.
| Measure | Main input | Horizon | Directional? |
|---|---|---|---|
| ATR | Historical highs, lows, previous closes | Chosen bars and smoothing | No |
| ATRP | ATR and chosen price denominator | Same as ATR | No |
| Implied volatility | Option prices and model inputs | Expiration-specific expectation | No direct price direction |
Comparing them requires compatible horizons and units. A daily ATR in dollars cannot be compared numerically with an annualized implied-volatility percentage without conversion assumptions.
16. Define Volatility States Without Turning Them Into Trade Signals
A measurement study can label volatility states, but each state needs a frozen reference.
Candidate condition
Examples:
- ATRP is below a chosen historical percentile;
- ATR is above its own prior rolling median;
- current True Range exceeds a frozen multiple of prior ATR;
- ATR slope changes sign under a specified lookback; or
- ATR crosses a fixed baseline calculated only from prior bars.
These are candidate measurements, not buy or sell signals.
Confirmation
Confirmation may require the condition to persist for a fixed number of closed bars or to complete at a session close. Define whether the current bar is included in the baseline and avoid using a percentile calculated from future bars.
Failure
A candidate fails when the measurement no longer satisfies the frozen threshold before confirmation, the required data becomes invalid, or an excluded corporate action or roll occurs.
Expiry
The candidate expires after a fixed bar count, session boundary, contract roll, or data-regime change. Expiry prevents indefinite waiting and must be included in the record.
Data ambiguity
Mark the case ambiguous when:
- a missing or corrected bar changes the threshold;
- a split or roll setting is uncertain;
- the provider's session cannot be reproduced;
- the current bar was incomplete at the decision time; or
- two implementations differ beyond the accepted tolerance after controls are matched.
Do not resolve ambiguity by selecting the value that produces the preferred outcome.
17. Measurement-Oriented Replay Workflow
- Select the exact instrument, venue, product, contract, provider, and quote currency.
- Freeze the chart interval, session, timezone, close type, and adjustment settings.
- Record the True Range formula, ATR length, smoothing, seed, warm-up, precision, and ATRP denominator.
- Exclude or separately label split dates, dividends, futures rolls, data corrections, and missing bars.
- Hide future candles before labeling a volatility candidate.
- Use only closed bars at the recorded timestamp.
- Record candidate, confirmed, failed, expired, no-candidate, and ambiguous states.
- Advance one candle at a time without changing the formula after seeing the outcome.
- Compare the same rule across different regimes, instruments, and untouched evaluation periods.
- Report sensitivity to provider, session, smoothing, seed, warm-up, and adjustment choices.
For generic historical-testing controls, use the backtesting guide. For candle-by-candle decision practice, use the market replay guide.
18. ATR Measurement Record
| Field | Record |
|---|---|
| Study version | Unique name and version date |
| Instrument | Symbol, venue, product, contract |
| Provider | Feed and data source |
| Price series | Trade, settlement, bid, ask, midpoint, mark, or index |
| Chart interval | Bar duration |
| Session | Regular, extended, exchange, custom |
| Timezone | Exact timezone and daily cutoff |
| Adjustment | Splits, dividends, futures back-adjustment |
| True Range | Formula and first-bar policy |
| ATR smoothing | Wilder/RMA, SMA, EMA, WMA |
| Length | Number of bars |
| Seed | Initial calculation method |
| Warm-up | Prior bars loaded and excluded from scoring |
| Current-bar policy | Closed bars or documented live-bar method |
| ATR unit | Dollars, points, quote currency, other |
| ATRP denominator | Close or another frozen reference |
| Candidate definition | Threshold, percentile, slope, or comparison |
| Confirmation | Persistence or closed-bar rule |
| Failure | Predefined measurement invalidation |
| Expiry | Bar, session, contract, or regime limit |
| Data event | Split, dividend, roll, bad tick, missing bar |
| Outcome measure | Frozen horizon and statistic |
| Ambiguity | Reason and handling policy |
19. Evaluate Robustness
A measurement rule is more credible when small implementation changes do not completely reverse the conclusion.
Compare:
- RMA versus another explicitly justified smoothing method;
- different but adjacent lookback lengths;
- regular versus extended sessions;
- two reputable data providers;
- adjusted versus unadjusted series where relevant;
- individual futures contracts versus documented continuous construction;
- raw ATR versus ATRP; and
- development versus untouched evaluation periods.
Do not search dozens of settings and report only the best result. Maintain a version ledger and disclose the number of alternatives tested.
Outcome measures
Depending on the research question, report:
- future realized range under a frozen horizon;
- maximum and median True Range;
- persistence of high or low ATR states;
- transition frequency between states;
- false-confirmation, failure, and expiry counts;
- provider or session disagreement frequency;
- sensitivity to corporate actions and rolls; and
- the number of ambiguous cases.
If a strategy layer is later added, include realistic spread, commission, slippage, and execution assumptions. ATR itself does not supply them.
20. What ChartMini Can and Cannot Do
ChartMini can hide future candles and support a candle-by-candle historical review. You can use the visible OHLC context to maintain an external ATR calculation or compare a separately prepared ATR series without revealing later price bars.
ChartMini does not, in this workflow:
- guarantee an ATR implementation identical to a broker or charting platform;
- expose every provider's session, adjustment, settlement, or futures-roll metadata;
- reconstruct the tick path inside an OHLC candle;
- reproduce live spreads, queue position, partial fills, slippage, commissions, market impact, or order rejection;
- select a universal ATR multiplier, risk percentage, stop distance, or target; or
- prove that a historical volatility rule will improve live performance.
Use the order types guide for order-mechanics boundaries and the ATR Indicator guide for application experiments.
Frequently Asked Questions
What is the True Range formula used by ATR?
True Range for bar t is the maximum of three nonnegative values: current high minus current low, the absolute value of current high minus the previous close, and the absolute value of current low minus the previous close. The previous close, session definition, and adjustment method must come from the same frozen data series.
How is Wilder ATR initialized and updated?
A common Wilder implementation seeds the first n-period ATR with the arithmetic mean of the first n True Range values. Each later value is previous ATR multiplied by n minus one, plus current True Range, divided by n. Early values depend on the seed and available history, so platform comparisons need a shared warm-up window.
Why can two platforms show different ATR values?
Platforms can differ in smoothing method, initial seed, loaded history, session and timezone, extended-hours treatment, missing-bar policy, previous-close source, stock adjustments, futures roll construction, price precision, and data vendor. Record those controls before deciding that either value is wrong.
Can raw ATR compare volatility across different instruments?
Usually not by itself. Raw ATR is expressed in the instrument's price units, so five dollars, fifty pips, or one hundred index points are not directly comparable. ATR Percentage, calculated as ATR divided by a frozen price denominator such as the close and multiplied by 100, provides a relative measure, but contract value and liquidity still require separate review.
Is ATR the same as ADR, Bollinger Bands, ADX, or implied volatility?
No. ATR averages True Range and includes gaps through the previous close. ADR summarizes daily high-low ranges under its chosen formula. Bollinger Bands use standard deviation around a moving average. ADX estimates trend strength using directional-movement calculations that include True Range. Implied volatility is derived from option prices and is a different forward-looking market estimate.
Does rising or very low ATR predict the next price direction?
No. ATR is directionless and summarizes recent range. Rising ATR means the smoothed True Range is increasing; low ATR means it is relatively compressed under the chosen lookback and comparison method. Either condition can accompany upward, downward, or sideways price action and does not by itself confirm a breakout or reversal.
Sources and Evidence Boundaries
- TradingView: Average True Range — standard True Range formula, directionless volatility role, common 14-period use, and selectable smoothing methods.
- Fidelity: Average True Range — recursive Wilder ATR formula, True Range components, and the boundary that ATR measures volatility rather than direction.
- TradingView: How ADR% and ATR% Are Calculated — ATRP as ATR divided by close times 100 and the gap-aware distinction from ADR.
- TradingView: Configure Supercharts — regular versus extended sessions, futures back-adjustment, dividend adjustment, timezone, and precision controls.
- TradingView: Back-Adjustment for Continuous Futures — roll-gap removal and additive adjustment behavior.
- TradingView: Continuous Futures Contracts — synthetic continuous-series construction, roll effects, artificial prices, and trading limitations.
- TradingView: Adjust Data for Dividends — dividend-adjusted chart behavior.
- TradingView: Stock Splits — historical price recalculation around splits.
- CFTC: Commodity Trading Systems Sold on the Internet — limitations of hypothetical results and assumed fills.
These sources establish formulas, platform settings, data transformations, and simulation boundaries. They do not establish a universal ATR period, multiplier, stop, target, breakout rule, or expected performance.