Average Directional Index (ADX)
The Average Directional Index measures trend strength regardless of direction. It consists of the ADX line (strength), +DI (bullish directional), and -DI (bearish directional). Developed by J. Welles Wilder.
- Family
- Trend
- Series
- adx · +di · -di
- Best timeframes
- H1 · H4 · D1
- Last updated
- 2026-03-21
TL;DR
- ADX is a trend indicator used in technical analysis
- ADX > 25 indicates a strong trend. ADX < 20 indicates a weak/ranging market. +DI above -DI is bullish; -DI above +DI is bearish.
- Best timeframes: H1, H4, D1
- Skip to API docs
What is Average Directional Index?
The Average Directional Index measures trend strength regardless of direction. It consists of the ADX line (strength), +DI (bullish directional), and -DI (bearish directional). Developed by J. Welles Wilder.
How ADX is calculated
ADX = Smoothed average of |+DI - -DI| / (+DI + -DI)
+DI = Smoothed +DM / ATR × 100
-DI = Smoothed -DM / ATR × 100
Default period: 14 How to interpret ADX
ADX > 25 indicates a strong trend. ADX < 20 indicates a weak/ranging market. +DI above -DI is bullish; -DI above +DI is bearish.
Trading strategies using ADX
Strategy 1: ADX Trend Filter
Use ADX to filter trades — only take trend-following signals when ADX confirms a strong trend.
Entry rules
Only enter trades when ADX > 25. Use +DI/-DI crossover for direction.
Exit rules
Exit when ADX falls below 20 or when +DI/-DI cross in the opposite direction.
Combining ADX with other indicators
ADX works best when combined with complementary indicators:
- ADX + MACD: Combine for stronger confluence signals
- ADX + RSI: Combine for stronger confluence signals
- ADX + Parabolic SAR: Combine for stronger confluence signals
ADX across different timeframes
ADX works across all 7 timeframes but performs best on H1, H4, D1 for most trading styles.
Accessing ADX via the TickAtlas API
GET https://tickatlas.com/v1/indicator
Python example
import requests
url = "https://tickatlas.com/v1/indicator"
headers = {"X-API-Key": "YOUR_API_KEY"}
params = {
"symbol": "EURUSD",
"indicator": "ADX",
"timeframe": "H1"
}
response = requests.get(url, headers=headers, params=params)
data = response.json()
print(data) Sample response
{
"success": true,
"data": {
"symbol": "EURUSD",
"indicator": "ADX",
"timeframe": "H1",
"value": 27.4,
"updated_at": 1711548000,
"server_time": "2024-03-27T14:00:00+00:00",
"bid": 1.0856,
"ask": 1.0857
}
} Common mistakes to avoid
- Confusing ADX direction with price direction — ADX measures trend strength, not direction
- Using ADX alone without +DI/-DI for directional signals
- Expecting ADX to provide timely entry signals — it lags significantly
Frequently asked questions
What ADX level indicates a strong trend?
ADX above 25 is generally considered a strong trend. Above 50 is an extremely strong trend. Below 20 is typically a ranging market. These are guidelines, not rigid thresholds.
Continue learning
More trend indicators
- Indicator
Moving Average Convergence Divergence (MACD)
MACD is a trend-following momentum indicator that shows the relationship between two EMAs.
Read more - Indicator
Relative Strength Index (RSI)
The Relative Strength Index (RSI) is a momentum oscillator that measures the speed and magnitude of price movements on a scale from 0 to 100.
Read more - Indicator
Parabolic SAR (SAR)
The Parabolic Stop and Reverse indicator places dots above or below price to indicate potential reversal points.
Read more
Put ADX to work in your application.
Sign up with $2.50 of starting credit and query pre-calculated ADX data across 7 timeframes, from M1 to D1.