Wilder’s Directional Movement Index (DMI), developed by J. Welles Wilder in 1978, is a three-line technical indicator designed to measure both trend direction and trend strength. The three components are:
– DI+ (plus directional indicator): measures upward directional movement.
– DI− (minus directional indicator): measures downward directional movement.
– ADX (Average Directional Index): measures the strength (magnitude) of the prevailing trend, regardless of direction.
DI+ above DI− implies upward momentum; DI− above DI+ implies downward momentum. ADX is non-directional — it only quantifies strength. Typical ADX thresholds used by traders: ADX 25 (established trend), and ADX > 30 (strong trend). Traders often adjust these cutoffs by market and timeframe.
Key Takeaways
– DMI = DI+, DI− (direction) and ADX (strength).
– Default period = 14 (Wilder’s original setting).
– DI crossovers give directional signals; ADX confirms whether the signal occurs within a strong trend.
– ADX is non-directional; it can remain high during a strong trend even if direction reverses.
– The indicator can give false signals (whipsaws); best used with price action or additional filters.
The Formula for Wilder’s DMI (ADX)
Main calculation elements:
1. True Range (TR) = max(High − Low, |High − PrevClose|, |Low − PrevClose|)
2. Up Move = Today’s High − Yesterday’s High
Down Move = Yesterday’s Low − Today’s Low
3. DM+ = Up Move if Up Move > Down Move and Up Move > 0, else 0
DM− = Down Move if Down Move > Up Move and Down Move > 0, else 0
4. Smoothed TR, Smoothed DM+ and Smoothed DM− (Wilder smoothing)
5. DI+ = 100 × (Smoothed DM+ / Smoothed TR)
DI− = 100 × (Smoothed DM− / Smoothed TR)
6. DX = 100 × (|DI+ − DI−| / (DI+ + DI−))
7. ADX = Wilder-smoothed average of DX values
Wilder smoothing (for period N, typically 14):
– First smoothed sum = simple sum of the first N raw values
– Subsequent smoothed value = prior smoothed value − (prior smoothed value / N) + current raw value
How to Calculate Wilder’s DMI (ADX) — Step-by-step
1. Choose period N (standard = 14) and collect N+ data points for price (high, low, close).
2. For each period (day, bar):
a. Compute Up Move and Down Move.
b. Determine DM+ and DM− using the rules above.
c. Calculate True Range (TR).
3. Compute the first Smoothed TR, Smoothed DM+, Smoothed DM− as the sum of the first N TRs/DMs.
4. For each subsequent period:
Smoothed TR = prior Smoothed TR − (prior Smoothed TR / N) + current TR
Smoothed DM+ = prior Smoothed DM+ − (prior Smoothed DM+ / N) + current DM+
Smoothed DM− = prior Smoothed DM− − (prior Smoothed DM− / N) + current DM−
5. Compute DI+ and DI−:
DI+ = 100 × (Smoothed DM+ / Smoothed TR)
DI− = 100 × (Smoothed DM− / Smoothed TR)
6. Compute DX:
DX = 100 × (|DI+ − DI−| / (DI+ + DI−))
7. First ADX = average of the first N DX values
Subsequent ADX = (prior ADX × (N − 1) + current DX) / N
(This is equivalent to Wilder smoothing formula.)
Practical (Compact) Example — calculation logic
– Suppose you calculate Up Move and Down Move across several bars and derive DM+ and DM−, and compute TR each bar.
– Sum the first 14 TRs to get first Smoothed TR; sum the first 14 DM+ values to get first Smoothed DM+ (same for DM−).
– Compute DI+ and DI− from these sums, then DX for each period, average the first 14 DXs for initial ADX.
– Continue smoothing ADX with the Wilder formula thereafter.
What Does Wilder’s DMI (ADX) Tell You?
– Direction: Whether upward pressure (+DI) or downward pressure (−DI) is dominating.
– Strength: ADX quantifies how strong that directional move is. Higher ADX = stronger trend.
– Trend vs. Range: Low ADX suggests range-bound or choppy market conditions; high ADX implies a trend that may be suitable for trend-following strategies.
Trading with Wilder’s DMI — Practical Steps and Rules
1. Setup:
• Add DMI to your chart with period N = 14 (default). Colors: DI+ (green), DI− (red), ADX (black).
• Optionally adjust ADX threshold (20/25/30) depending on the market and timeframe.
2. Basic entry rules:
• Long entry: DI+ crosses above DI− AND ADX ≥ threshold (e.g., 25) to confirm trend strength.
• Short entry: DI− crosses above DI+ AND ADX ≥ threshold.
• For earlier signals, some traders take entries on DI crossovers regardless of ADX but use lower position size and tighter stops until ADX confirms.
3. Stop placement and risk control:
• Conservative stop: below recent swing low for longs (above recent swing high for shorts).
• Intraday stop: under the current period low (or above current high for shorts).
• Use position sizing and risk-per-trade rules (e.g., 1–2% of capital at risk).
• Consider a trailing stop (e.g., ATR-based) once the trade is in profit to lock gains if ADX remains high.
4. Exits:
• Close or reduce position if DI flips (e.g., DI+ falls below DI−) or ADX trends lower below your threshold.
• Consider partial exits as ADX peaks and begins to roll over (trend may be losing momentum).
DI Crossovers
– The crossover of DI+ and DI− is a directional signal. Alone it can be noisy.
– Confirm with ADX: a crossover accompanied by ADX rising above your threshold is a higher-probability signal.
– Watch for false crossovers when ADX is low (choppy/ranging markets).
DI Contractions and Expansions
– When DI+ and DI− converge (“squeeze”), volatility is contracting; often followed by expansion and a directional breakout.
– When DI lines spread apart, volatility is expanding — the dominant DI indicates direction.
– Use contraction periods to prepare for potential breakouts; confirm direction with a DI crossover and ADX surge.
Example Trading Workflow (practical step sequence)
1. On your chosen timeframe (e.g., daily), add DMI(14).
2. Monitor DI lines: when they start to separate, note which is on top.
3. Wait for ADX to rise above your threshold (e.g., 25) to confirm trending strength.
4. Entry:
• Long: when DI+ crosses above DI− and ADX ≥ 25, place entry.
• Short: when DI− crosses above DI+ and ADX ≥ 25, place entry.
5. Stop: place stop under recent swing low (long) or above recent swing high (short).
6. Manage: trail stop with ATR or lock profits as ADX declines from peak.
7. Exit: when DI flips or ADX falls below a set lower threshold (e.g., 20).
Wilder’s DMI vs. Aroon
– DMI measures directional movement and trend strength via price movement and volatility smoothing.
– Aroon measures time since last high/low in a look-back window to estimate trend presence and strength using recency rather than directional magnitude.
– They can complement one another: DMI gives strength and direction; Aroon informs whether highs/lows are recent (persistence).
Limitations and How to Mitigate Them
1. Lagging nature:
• ADX and DI are calculated from past prices and use smoothing; they lag price action and can signal after moves have begun.
• Mitigation: Use shorter periods (at the cost of more noise), combine with leading indicators (e.g., momentum oscillators), or confirm with price patterns.
2. False signals and whipsaws:
• DI crossovers can occur frequently in choppy markets.
• Mitigation: Require ADX confirmation, use additional filters (volume, support/resistance), or higher ADX thresholds.
3. ADX is non-directional:
• ADX tells you trend strength but not its direction — always interpret ADX with DI+ and DI−.
• Mitigation: Use the DI lines to establish direction before acting on ADX.
4. Parameter sensitivity:
• Default 14 works for many situations, but market characteristics and timeframes differ.
• Mitigation: Backtest different periods and ADX thresholds on your instrument/timeframe.
Best Practices
– Combine DMI with price action, support/resistance, volume, or other indicators (e.g., moving averages, RSI, MACD).
– Test parameter choices (period and ADX threshold) by backtesting on your instrument and timeframe.
– Use proper risk management: position sizing, stops, and plan for whipsaws.
Sources and Further Reading
– J. Welles Wilder, New Concepts in Technical Trading Systems, 1978.
– Investopedia: “Wilder’s DMI (ADX)”
Conclusion
Wilder’s DMI/ADX is a widely used tool to identify trend direction (DI+ vs DI−) and trend strength (ADX). It provides clear, rule-based signals but is subject to lag and false alerts, especially in non-trending markets. Use DI crossovers together with an ADX threshold for higher-probability trades, and always combine the indicator with price analysis and risk controls.
Editor’s note: The following topics are reserved for upcoming updates and will be expanded with detailed examples and datasets.