On This Page
Key Takeaways
- ADX measures trend strength on a 0 to 100 scale; +DI and −DI supply the direction.
- +DI and −DI compare smoothed upward and downward range extensions, normalized by smoothed true range.
- Common reference levels are 20 and 25. Write the chosen level into the trading rule as an explicit condition.
- ADX rises when current DX exceeds prior ADX and falls when current DX is lower. Compare the DI lines separately to read directional movement.
- J. Welles Wilder introduced ADX and the DMI in 1978, and both use his smoothing over a default 14 periods.
What is the Average Directional Index (ADX)?
The Average Directional Index (ADX) is a trend-strength indicator, introduced by J. Welles Wilder in 1978, that smooths the imbalance between the positive and negative directional indicators, +DI and −DI. It reads from 0 to 100 and measures strength rather than direction, so traders read it with +DI and −DI, the directional lines of Wilder’s Directional Movement Index (DMI).
The DI lines come from changes in bar highs and lows. They measure directional range extensions. ADX takes the absolute imbalance between those lines, so its calculation carries no bullish or bearish sign.
How are +DI and −DI calculated?
UpMove = current high − prior high. DownMove = prior low − current low.
Set +DM to UpMove when UpMove is positive and greater than DownMove; otherwise use zero. Set −DM to DownMove when DownMove is positive and greater than UpMove; otherwise use zero. Equal moves set both to zero, as do inside bars with no positive extension.
Smooth +DM, −DM and true range using the same Wilder convention. Calculate each DI as 100 times its smoothed directional-movement average divided by the smoothed true-range average.
Formula
DX = 100 × |(+DI) − (−DI)| / ((+DI) + (−DI)); ADX = Wilder-smoothed average of DX over N periods (default 14)- UpMove = current high − prior high; DownMove = prior low − current low. +DM equals UpMove only when it is positive and greater than DownMove; otherwise it is zero.
- −DM equals DownMove only when it is positive and greater than UpMove; otherwise it is zero. Ties set both to zero. Each DI is 100 × its Wilder-smoothed DM average / Wilder-smoothed true-range average.
- DX runs from zero when the DI lines match to 100 when one of them is zero.
- Seed ADX with the mean of the first N defined DX readings. Subsequent ADX = prior ADX + (current DX − prior ADX) / N; this example uses N = 14.
Worked Example
On a daily chart, +DI is 30, −DI is 12 and the previous ADX is 27. Calculate the new 14-period ADX and read it alongside the directional indicators.
- DX = 100 × |30 − 12| / (30 + 12) = 42.86
- +DI of 30 exceeds −DI of 12, identifying the larger smoothed positive directional movement
- New ADX = (13 × 27 + 42.86) / 14 = 28.13
ADX rises from 27 to 28.13 while +DI remains above −DI. The example meets an ADX-above-25 condition and a positive-directional-leadership condition. Define the entry and exit that use those two readings.
How are DX and ADX calculated?
DX = 100 × |+DI − −DI| / (+DI + −DI). DX reads zero when the DI lines match and 100 when one of them is zero.
Seed ADX with the average of the first 14 defined DX values. Then update ADX = (13 × prior ADX + current DX) / 14.
For +DI = 30 and −DI = 12, DX is 42.86. With prior ADX at 27, the new ADX is 28.13.
How to read ADX level and slope
ADX rises when current DX exceeds prior ADX and falls when it is lower. This compares a current imbalance reading with its smoothed history. Read the DI relationship and the price structure alongside it.
The common 20 and 25 guides define useful reference conditions for a rule. For example, require ADX above 25 and +DI above −DI before evaluating a separate bullish entry setup.
How traders use ADX and the DI lines
Choose whether the DI crossing, ADX threshold or both qualify the setup. Specify the decision bar, entry, invalidation, size and exit. Match the lookback and smoothing before you compare two charts or two backtests.
ADX gives the trend’s strength and the DI lines its direction; Options Flow shows which side the big premium in the underlying takes, and the Options Profit Calculator tests each structure across target, expiration and volatility.
Limitations of ADX
- Read fresh turns from the DI lines and price, because ADX lags. It smooths directional movement and true range, then smooths DX again, and in the standard update each new DX moves ADX only 1/14 of the way from its prior value.
- A strong decline lifts ADX as high as a strong rally does, so take direction from +DI, −DI and the price chart.
- Test the 20 or 25 threshold on the market and interval you trade before writing it into a rule.
- Confirm a DI crossing with price and volume. The DI lines are built from highs, lows and closes, so the participation behind a move comes from the volume.
- Match the lookback, smoothing and initialization before comparing two ADX charts; the first bars after the start differ the most.
Bottom line
ADX measures how strong a directional move is, not which way it runs, and +DI and −DI supply the direction. Use a stated ADX level and the DI relationship together as a trend filter, confirm the setup on the price chart, and expect the reading to trail fresh moves because of its double smoothing.
Clear answers
Frequently Asked Questions
Sources and Further Reading
How entries are sourced, calculated and updated: editorial methodology.