Average True Range (ATR) measures how much an asset moves per bar — including overnight gaps that a simple High minus Low calculation would miss. It tells you the market's current pulse: fast or slow, wide or tight. ATR does not predict direction. It quantifies magnitude.

Volatility
Category
Beginner
Difficulty
0 to ∞ (same unit as price)
Output Range
14
Default Period
None
Repaint Risk
Simple — high, low, close
Data Need
VOLATILITY · FILTER · BEGINNER_FRIENDLY · LAGGING · REAL_TIME
Tags

Section 1: Core Mechanics

ATR was developed by J. Welles Wilder Jr. and published in his 1978 book New Concepts in Technical Trading Systems. The same book introduced RSI and the Parabolic SAR.

Formula

The first step is the True Range (TR) — the largest of three measurements for each bar:

The second measurement captures upward gaps; the third captures downward gaps. This is why ATR is more accurate than a simple High-Low range for assets that gap overnight.

ATR is then a Wilder-smoothed average of TR over N periods:

For the first bar, (simple average of the first N true ranges). Default N = 14.

Inputs

  • High: Bar high
  • Low: Bar low
  • Close: Previous bar close (for gap measurement)

Parameters

Parameter Default Range Impact
Period (N) 14 5–50 Lower = reacts faster to recent volatility; Higher = smoother, slower
Price source HLC Fixed Not configurable — ATR requires all three

Output

ATR outputs a single positive value per bar on a separate sub-panel, expressed in the same unit as price (dollars for stocks, pips for forex, points for futures). Higher ATR = wider price swings. Lower ATR = quieter, tighter price action.

Visual Behavior

  • Rising ATR → volatility expanding — market becoming more active
  • Falling ATR → volatility contracting — market quieting down
  • ATR at multi-month lows → pre-breakout squeeze or extended low-volatility environment

Section 2: Interpretation & Signals

ATR is not a buy/sell signal generator. It is a measurement tool that powers three critical trade management functions.

Three Uses of ATR

Function Formula Purpose
Stop-loss placement Entry ± (1.5 to 2 × ATR) Stops sized to current volatility, not arbitrary
Position sizing Dollar risk / (ATR × price per point) Consistent risk per trade regardless of asset
Volatility filter ATR at 3-month low → avoid breakouts Breakouts in low-vol environments fail at high rates

ATR Stop-Loss Logic

A fixed stop of $2.00 is too tight on a stock with ATR = $4.00 and too wide on one with ATR = $0.80. ATR-based stops adapt automatically:

ATR Stop-Loss — 1.5× ATR below entry

Volatility Filter Signal

💡 TIP
When ATR(14) drops to its lowest reading in 60+ bars, the market is compressing. This compression often precedes a breakout. But trading the breakout direction is still uncertain — wait for price confirmation above the channel before entering.
⚠️ WARNING
When ATR(14) is rising sharply — up 50% from its recent average — the market is in a volatility spike. Stops that were sized at the previous ATR will be too tight for current conditions. Recalculate before adding new positions.

Section 3: Pass vs. Live — Real-Time Reliability

None — ATR recalculates only on the current live candle
Repaint Risk
~7 bars at default N=14 (Wilder smoothing creates slight delay)
Lag
ATR value shifts as bar develops — use prior closed bar's ATR for stops
Confirmation Timing
Stop sizing, position sizing, volatility regime identification
Best Use
Using ATR as a standalone entry signal — it has no directional bias
Avoid

ATR on a live (unclosed) bar updates in real time as the high and low expand. The true range will only be finalized at bar close. For stop-loss calculations, always use the ATR from the prior closed bar — not the current live bar — to avoid sizing your stop on an ATR that hasn't finished forming.


Section 4: Practical Use Cases

Setup: ATR(14) on 15-minute chart Signal: Price breaks above a 10-bar high with ATR rising (not at a low) Entry: Close of the breakout candle Stop: Entry minus 1× ATR(14) from the prior closed bar Key rule: Skip setups where ATR is below its 20-period average — breakouts in compressed vol fail more than 60% of the time

Real example — Position sizing: Account $50,000, risk 1% per trade = $500 maximum risk. AAPL ATR(14) on daily = $3.20. Position size = $500 ÷ $3.20 = 156 shares. Stop = entry price minus 1× ATR = entry minus $3.20. If AAPL is at $175.00, stop goes at $171.80. This size and stop risk exactly $499.20 — within the 1% rule.


Section 5: Pseudo Code

INPUT: high[], low[], close[], period=14

PROCESS:
  Step 1: Calculate True Range for each bar i (starting from bar 1, not bar 0)
            tr[i] = max(
              high[i] - low[i],
              abs(high[i] - close[i-1]),
              abs(low[i] - close[i-1])
            )
  Step 2: Seed the first ATR value using a simple average
            atr[period] = mean(tr[1 : period+1])
  Step 3: Apply Wilder smoothing for all subsequent bars
            atr[i] = ((atr[i-1] * (period - 1)) + tr[i]) / period

OUTPUT: atr[] — array of ATR values, NaN for first (period - 1) bars
EDGE CASES:
  - Fewer than period bars: return all NaN
  - First bar (i=0): no previous close, so tr[0] = high[0] - low[0]
  - Gap open: |High - PrevClose| or |Low - PrevClose| will exceed High-Low — ATR captures this correctly
  - Period = 1: ATR equals TR of each bar (no smoothing)

Section 6: Parameters & Optimization

Standard ATR Period Conventions

Period Common Use Characteristics
7 Very short-term Reacts fast; noisy; useful for intraday scalpers
14 Default (Wilder) Balanced; works across all timeframes
20 Slower filter Smooths out short spikes; good for swing traders
50 Long-term regime Identifies multi-month volatility environment

ATR Multiplier Reference

Use Case Typical Multiplier Notes
Scalp stop-loss 1× ATR Tight; accept more noise-outs
Swing stop-loss 1.5× ATR Standard; good balance
Trend stop-loss 2× ATR Wide; fewer stops, larger drawdown
Trailing stop 3× ATR Used in Chandelier Exit indicator
What is the Chandelier Exit?

The Chandelier Exit is a trailing stop built on ATR: Chandelier Stop = Highest High over N bars minus 3 × ATR(N). It keeps you in trends by trailing below the highest high, not below the current price. It was developed by Chuck LeBeau and is available natively in TradingView as "Chandelier Exit."

Should I use ATR(14) or ATR(20) for crypto?

Crypto is 2–3× more volatile than equities. ATR(14) on crypto daily charts captures this fine — the higher raw ATR value already reflects the wider swings. What changes is your multiplier: use 1.5× to 2× ATR for crypto stops (same as equities) because the wider swings are already in the ATR number. Do not reduce the multiplier just because the number looks large.

Why does ATR never reach zero?

True Range uses the maximum of three values, all of which are non-negative. Even on a doji bar with identical open/close, the high-low spread is still positive (unless it is a perfect doji on a market with no movement — rare). Wilder smoothing carries forward prior ATR values, so the output decays toward, but never reaches, zero.


Section 7: Synergies & Conflicts

Works Well WithAvoid Combining With
Chandelier ExitATR is the core of Chandelier Exit — trailing stops that adapt to volatility automatically
Bollinger BandsBoth measure volatility expansion/contraction — combine ATR direction with BB squeeze for entry timing
ADXADX identifies trend strength; ATR identifies volatility level. High ADX + rising ATR = strong trend worth trading
RSI / StochasticOscillators time entry; ATR sizes the stop — complementary roles with no conflict
Fixed-dollar stopsMixing ATR-based and fixed stops creates inconsistent risk per trade — pick one framework
Realized Volatility (HV)HV measures historical vol; ATR measures current bar volatility. For simple stop placement, ATR is more actionable — HV is for regime analysis

Section 8: Common Mistakes

Mistake Root Cause Solution
Using ATR as a buy/sell signal ATR has no directional information Combine with trend indicator (SMA, ADX) for direction; use ATR only for sizing/stops
Setting stop at exactly 1× ATR Too tight for most market noise Use 1.5× to 2× ATR minimum; 1× only for confirmed high-probability setups
Using live-bar ATR for stop placement ATR on unclosed bar is not final Always read ATR from the prior closed bar
Not adjusting multiplier for asset class Stock ATR multiplier applied to volatile crypto Crypto ATR is already wide — multiplier can stay the same; the raw number is the adjustment
Treating low ATR as a signal to trade less Low ATR means low volatility, not low opportunity Low ATR + channel breakout = high-probability setup. The signal is the breakout, ATR is the context

Section 9: Cheat Sheet

ℹ️ INFO
**Average True Range (ATR)**

USE WHEN: Sizing a stop-loss, calculating position size, checking volatility regime before a breakout
AVOID WHEN: Looking for directional buy/sell signals — ATR does not provide them

ENTRY SIGNAL: Not a standalone entry signal — use with trend/breakout indicators
EXIT SIGNAL (Stop): Entry minus 1.5× ATR(14) for swing; 1× ATR for scalp; 2× ATR for position

PARAMETERS: Default ATR(14) works across all timeframes and asset classes
CONFLUENCE: ADX (trend strength) + ATR (stop size) + RSI (entry timing) = complete trade framework

RISK: ATR spike after entry invalidates original stop size — recalculate on large volatility jumps
BEST TIMEFRAME: Most useful on Daily and 4H for stop sizing; 15m/1H for scalp stop placement