📘Comprehensive Analysis of ATR Indicator: Core Tool for Volatility, Stop-Loss, and Position Managemen
This article was produced by the Quantitative Trading Lab at https://www.itrade.icu. Visit for more benefits.
🧠 Basic Concepts
ATR (Average True Range), developed by technical analysis expert J. Welles Wilder, is used to measure market volatility. It does not directly generate buy or sell signals but indicates: “Is the market fluctuation large or small?”
Core Significance:
Higher volatility leads to a higher ATR value, indicating more intense market sentiment.
Lower volatility results in a stable ATR, suggesting the market is in a consolidation phase.
Application Areas: Primarily used for setting stop-loss, position sizing, and judging trend strength, making it a core risk management tool in quantitative trading.
📊 Detailed Calculation
▶️ Indicator Calculation Algorithm Formula
True Range (TR):
$H$: Current high price
$L$: Current low price
$C_{\text{prev}}$: Previous K-line's closing price
Average True Range (ATR):
Initial ATR (for the first period):
Subsequent recursive calculation (smoothing):
▶️ Indicator Calculation in Plain Language
1. True Range (TR)
✅ Detailed Explanation of TR (Three Calculation Methods)
The True Range (TR) is an indicator used to measure the actual volatility of the market, accounting for gaps and significant fluctuations. TR is calculated by taking the maximum of the following three values:
Current High - Current Low = Price range of the current K-line (used in normal conditions)
When the price fluctuates within a K-line without gaps, this value reflects normal volatility.
Example: High 105, Low 95 → TR = 10
|Current High - Previous Closing Price| = Adjustment for upward gaps or sharp upward movements
If the current K-line opens above the previous close, this captures additional volatility from the upward gap.
Example: Previous close 90, Current high 110 → TR = 20
|Current Low - Previous Closing Price| = Adjustment for downward gaps or sharp downward movements
If the current K-line opens below the previous close, this captures additional volatility from the downward gap.
Example: Previous close 120, Current low 100 → TR = 20
✅ Final TR Calculation Method (Summary)
📌 Purpose of Taking the Maximum: Ensures volatility calculations include gap risks, making the volatility metric more “realistic.”
2. Average True Range (ATR)
ATR = N-day moving average of TR, default N = 14 i.e.,
ATR = MA(TR, 14)
📌 Calculation Example Simulation (Plain Language)
Let’s use three days of daily data to illustrate how ATR (Average True Range) is calculated step by step:
D1
51
48
49
D2
52
47
50
D3
55
49
53
✅ Step 1: Calculate TR for D2
To determine the price fluctuation for D2, we compare the high and low points of D2 with the previous day’s (D1) closing price.
We calculate the three scenarios:
D2 High - Low = 52 - 47 = 5 (D2’s own price range)
D2 High - D1 Close = 52 - 49 = 3
D2 Low - D1 Close = 47 - 49 = -2 → Absolute value = 2
The three values are: 5, 3, 2. Which is the largest? 5 So, D2’s TR = 5
✅ Step 2: Calculate TR for D3
Now for D3’s fluctuation:
D3 High - Low = 55 - 49 = 6
D3 High - D2 Close = 55 - 50 = 5
D3 Low - D2 Close = 49 - 50 = -1 → Absolute value = 1
The largest is 6, so D3’s TR = 6
✅ Step 3: Assume We Calculated TR for 14 Consecutive Days
Suppose we calculated TR for 14 days, with values:
[5, 6, 4, 5, 7, 6, 5, 5, 4, 6, 5, 7, 6, 5]
Now, we calculate the Average True Range (ATR), which is the average of these 14 TR values.
Sum the 14 numbers:
Total = 5 + 6 + 4 + 5 + 7 + 6 + 5 + 5 + 4 + 6 + 5 + 7 + 6 + 5 = 76
Average:
ATR = 76 ÷ 14 = 5.43
🧠 Algorithm Summary
TR: Measures the “intensity of daily price fluctuations.”
ATR: Averages recent fluctuations to gauge how “active” or “calm” the market is.
Higher ATR → Market is more volatile, large fluctuations.
Lower ATR → Market is calm, small fluctuations.
💡 Trading Signals
ATR’s role is to measure market volatility amplitude; it does not generate buy/sell signals directly but is critical in the following areas:
✅ Stop-Loss Setting
Long Stop-Loss:
Stop-Loss = Entry Price - N × ATRShort Stop-Loss:
Stop-Loss = Entry Price + N × ATR
Common N range: 1.5 to 3 (N is the multiplier for volatility tolerance)
Example:
Entry Price = 50
ATR = 2
Conservative Stop-Loss (1.5×ATR) = 50 - 3 = 47
Aggressive Stop-Loss (3×ATR) = 50 - 6 = 44
N as Volatility Tolerance Multiplier
ATR is the average volatility, and using N × ATR for stop-loss means: How many “normal volatility units” am I willing to lose in this trade?
Larger N → Wider stop-loss, more “conservative.”
Smaller N → Tighter stop-loss, more “aggressive.”
✅ Position Sizing
Position = Acceptable Loss Amount ÷ ATR
Example:
Account Total Capital = 100,000
Maximum Loss per Trade = 2% = 2,000
ATR = 2.5, Current Price = 50
This setup ensures that even with significant price fluctuations, a single loss won’t severely impact the account.
✅ ATR Advantages
Reflects True Volatility: Accurately captures price fluctuation amplitude, including gaps.
Strong Adaptability: Applicable to various markets (stocks, futures, cryptocurrencies, etc.).
Multi-Style Compatibility: Supports trend trading, swing trading, short-term trading, and other strategies.
❌ ATR Disadvantages
No Directional Guidance: ATR only reflects volatility amplitude, not buy/sell direction.
Sensitive to Outliers: Highly sensitive to extreme price fluctuations, requiring outlier filtering or smoothing.
⚠️ Signal Traps and Counter Strategies
Sudden ATR Spike
Interference from an abnormally large K-line
Add outlier filter: e.g., ATR not exceeding 2x the 3-month average
Wait and observe, avoid chasing highs or panic selling, wait for volatility to normalize
Persistent Low ATR
Extremely low market volatility
Combine with Bollinger Bands to watch for breakout opportunities
Monitor breakout direction, prepare to go long or short
Overly Large ATR Stop-Loss
Overly long period or highly volatile asset
Adjust ATR period or dynamically adjust stop-loss multiplier based on account tolerance
Control position size, avoid over-leveraging, reduce risk exposure
🧠 Advanced Usage Techniques
📌 Market State Judgment
Rising
Upward
Strong uptrend, market starting
Rising
Downward
Strong downtrend, panic selling
Rising
Sideways
Increasing volatility, possible breakout signal
Declining
Upward
Weak uptrend, insufficient momentum
Declining
Downward
Weak downtrend, possible end of pullback
Declining
Sideways
Consolidation period, observe primarily
ATR trend changes reflect market rhythm earlier than MACD.
🔗 Combining with Other Indicators (Detailed Explanation)
Below is an expanded explanation of combining ATR with other indicators, with key points highlighted:
1. ATR + Moving Average (MA)
Price > MA and ATR Rising Price above the moving average indicates a bullish trend direction; rising ATR shows increasing market volatility, typically a sign of a strengthening bullish trend. At this point, consider following the trend to go long, leveraging increased volatility for profit.
Price < MA and ATR Declining Price below the moving average indicates a bearish trend; declining ATR suggests reduced market volatility, possibly entering a consolidation phase with higher false breakout probability. Be cautious with short positions to avoid misjudging false breakouts.
2. ATR + Bollinger Bands
Bollinger Bands Narrow + Low ATR When Bollinger Bands narrow, the market is in a low volatility state, and low ATR indicates minimal price fluctuations. This is a “compression state,” often signaling an impending breakout. Traders can prepare for a breakout, waiting for direction confirmation.
Rising ATR + Bollinger Bands Expansion A breakout has occurred, price shows significant fluctuations, Bollinger Bands expand (open mouth), and ATR significantly increases, indicating heightened market activity. At this point, follow the breakout direction for trading, with high profit potential.
3. ATR + RSI
RSI Oversold + Rising ATR RSI indicates oversold, suggesting a rebound potential, but rising ATR shows intense fluctuations and strong momentum in the downtrend. This implies the downtrend may still be strong, and rebound signals should be treated cautiously, possibly just a temporary adjustment.
RSI Oversold + Declining ATR RSI is oversold, and declining ATR indicates weakening fluctuations and insufficient downward momentum, suggesting reduced selling pressure. This is a potential reversal signal, possibly leading to bottoming and rebound, offering a buying opportunity.
These combinations provide a more comprehensive understanding of market volatility and trend strength, avoiding misguidance from a single indicator and enhancing trading decision accuracy.
🧪 Case Practical (Freqtrade)
Backtest Results
force_exit
2
1.28
7.680
0.77
16:00:00
2
0
0
100
exit_signal
42
-0.69
-91.086
-9.11
9:24:00
5
0
37
11.9
TOTAL
44
-0.6
-83.405
-8.34
9:42:00
7
0
37
15.9
✅ ATR Indicator Summary and Practical Suggestions
1. Functional Applications
Volatility Judgment
Assess current market volatility to evaluate entry suitability
Dynamic Stop-Loss
Adjust stop-loss position based on market volatility to protect profits and control risks
Position Sizing
Precisely calculate reasonable position size to avoid excessive losses due to volatility
Trend Strength
Combine with MA, Bollinger Bands, etc., to judge trend authenticity and strength
2. Applicable Audiences and Strategy Suggestions
Beginners
Combine with EMA, Bollinger Bands, etc., avoid relying solely on ATR
Trend Traders
Focus on using ATR for stop-loss setting and market state judgment
Risk Managers
Strongly recommend using ATR for dynamic stop-loss and position sizing
High-Frequency Traders
Shorten ATR period (e.g., 5), combine with volume indicators to enhance signal sensitivity
📌 One-Sentence Summary: ATR primarily measures the amplitude of market price fluctuations (like a “thermometer” for market activity), indicating whether the market is active or calm. ATR is not a “price prediction” indicator but a risk control weapon, and every mature strategy should incorporate ATR.
Addressing Your ATR and TR Formula for Top/Bottom Prices
You mentioned a formula for calculating potential top and bottom prices using ATR and TR:
Bottom Price: Starting High - ((Starting TR + Starting ATR) / 2 * 5)
Top Price: Starting Low - ((Starting TR + Starting ATR) / 2 * 5)
This formula appears to be a custom method for estimating potential price targets based on volatility. Let’s break it down and analyze its logic, then provide a practical example to clarify its application.
Analysis of the Formula
The formula seems to use the TR (True Range) and ATR (Average True Range) at a specific starting point (e.g., a breakout or trend initiation) to estimate how far the price might move, factoring in volatility. Here's a breakdown:
Starting High/Low: Refers to the high or low price at the point where the trend or breakout begins (the “starting point”).
(TR + ATR) / 2: Takes the average of the current K-line’s TR and the ATR, representing a blended measure of current and average volatility.
Multiplied by 5: The factor of 5 likely acts as a multiplier to project a significant price movement, assuming the price could move 5 times the average volatility.
Subtracting for Bottom/Top:
For bottom price, subtracting from the starting high suggests estimating a potential downside target.
For top price, subtracting from the starting low seems incorrect and likely a typo, as it would result in a negative or illogical price. It’s more likely intended to be Starting Low + ((TR + ATR) / 2 * 5) to estimate an upside target.
Corrected Formula (Assumed Intention)
Based on standard technical analysis practices, the corrected formulas for price targets are likely:
Bottom Price: Starting High - ((TR + ATR) / 2 * 5) (Estimates how far price might fall from the high point)
Top Price: Starting Low + ((TR + ATR) / 2 * 5) (Estimates how far price might rise from the low point)
This makes sense for projecting potential support (bottom) and resistance (top) levels based on volatility.
Example Calculation
Using the earlier dataset for D3:
D3
55
49
53
6
5.43
Assume D3 is the “starting point” (e.g., a breakout day).
TR for D3: 6 (calculated as max(55 - 49, |55 - 50|, |49 - 50|) = 6)
ATR for D3: 5.43 (from prior calculation)
Volatility Factor: (TR + ATR) / 2 = (6 + 5.43) / 2 = 5.715
Projected Movement: 5.715 * 5 = 28.575
Bottom Price Calculation:
Starting High = 55 Bottom Price = 55 - 28.575 = 26.425
Top Price Calculation (corrected):
Starting Low = 49 Top Price = 49 + 28.575 = 77.575
Interpretation
Bottom Price (26.425): Suggests a potential support level if the price falls from the high of 55, assuming significant volatility-driven movement.
Top Price (77.575): Suggests a potential resistance level if the price rises from the low of 49, factoring in volatility.
Practical Notes on the Formula
Purpose: This formula seems designed to estimate extreme price targets based on volatility, useful for setting profit targets or identifying potential reversal zones.
Limitations:
The multiplier of 5 is arbitrary and may not suit all markets or timeframes. It should be backtested or adjusted based on the asset’s volatility characteristics.
The formula assumes symmetrical volatility for both upside and downside, which may not always hold true.
Subtracting for the top price in the original formula is likely a mistake, as it would yield illogical results.
Improvements:
Combine with other indicators (e.g., support/resistance levels, Fibonacci retracement) to validate the projected top/bottom prices.
Adjust the multiplier (5) based on historical volatility or market conditions (e.g., use 3 for less volatile assets).
Consider using only ATR for simplicity, as TR is already embedded in ATR’s calculation.
Suggested Improved Formula
To make it more robust, consider simplifying to use only ATR, as it’s a smoothed measure of volatility:
Bottom Price: Starting High - (N × ATR)
Top Price: Starting Low + (N × ATR)
Where N is a multiplier (e.g., 2 or 3) adjusted based on backtesting. Using the D3 example:
ATR = 5.43, N = 3
Bottom Price = 55 - (3 * 5.43) = 55 - 16.29 = 38.71
Top Price = 49 + (3 * 5.43) = 49 + 16.29 = 65.29
This provides more conservative and realistic price targets.
Integration with ATR Strategy
You can incorporate this price target logic into the AtrStopStrategy by adding target price calculations to the populate_indicators method and using them in entry/exit logic. Here’s a modified version:
This modification adds top/bottom price targets to the strategy, using them to avoid entering near extreme resistance levels and exiting when the price hits the projected top.
Conclusion
The provided ATR/TR-based price target formula is a creative way to estimate potential support and resistance levels using volatility. However, the original top price formula seems flawed and should likely add the volatility factor to the low price. The improved formula using only ATR with an adjustable multiplier is simpler and more reliable. Integrating this into a trading strategy, as shown in the modified Freqtrade code, can enhance decision-making by combining volatility-based targets with trend and risk management logic. Always backtest and validate such formulas across different markets and timeframes to ensure robustness.
Last updated