What Is the Directional Movement Index (DMI)?

The directional movement index (DMI) is an indicator developed by J. Welles Wilder in 1978 that identifies in which direction the price of an asset is moving. The indicator does this by comparing prior highs and lows and drawing two lines: a positive directional movement line (+DI) and a negative directional movement line (-DI). An optional third line, called the average directional index (ADX), can also be used to gauge the strength of the uptrend or downtrend.

When +DI is above -DI, there is more upward pressure than downward pressure in the price. Conversely, if -DI is above +DI, then there is more downward pressure on the price. This indicator may help traders assess the trend direction. Crossovers between the lines are also sometimes used as trade signals to buy or sell.

Key Takeaways

  • The directional movement index (DMI) is a technical indicator that measures both the strength and direction of a price movement and is intended to reduce false signals.
  • The DMI utilizes two standard indicators, one negative (-DM) and one positive (+DN), in conjunction with a third, the average directional index (ADX), which is non-directional but shows momentum.
  • The larger the spread between the two primary lines, the stronger the price trend. If +DI is way above -DI the price trend is strongly up. If -DI is way above +DI then the price trend is strongly down.
  • ADX measures the strength of the trend, either up or down; a reading above 25 indicates a strong trend.

The Formulas for the Directional Movement Index (DMI) Are:

+DI=(Smoothed +DMATR )×100-DI=(Smoothed -DMATR )×100DX=(+DI-DI+DI+-DI)×100where:+DM (Directional Movement)=Current HighPHPH=Previous high-DM=Previous LowCurrent LowSmoothed +/-DM=t=114DM(t=114DM14)+CDMCDM=Current DMATR=Average True Range\begin{aligned} &\text{+DI} = \left ( \frac{ \text{Smoothed +DM} }{ \text{ATR } } \right ) \times 100 \\ &\text{-DI} = \left ( \frac{ \text{Smoothed -DM} }{ \text{ATR } } \right ) \times 100 \\ &\text{DX} = \left ( \frac{ \mid \text{+DI} - \text{-DI} \mid }{ \mid \text{+DI} + \text{-DI} \mid } \right ) \times 100 \\ &\textbf{where:}\\ &\text{+DM (Directional Movement)} = \text{Current High} - \text{PH} \\ &\text{PH} = \text{Previous high} \\ &\text{-DM} = \text{Previous Low} - \text{Current Low} \\ &\text{Smoothed +/-DM} = \textstyle{ \sum_{t=1}^{14} \text{DM} - \left ( \frac{ \sum_{t=1}^{14} \text{DM} }{ 14 } \right ) + \text{CDM} } \\ &\text{CDM} = \text{Current DM} \\ &\text{ATR} = \text{Average True Range} \\ \end{aligned}+DI=(ATR Smoothed +DM)×100-DI=(ATR Smoothed -DM)×100DX=(+DI+-DI+DI-DI)×100where:+DM (Directional Movement)=Current HighPHPH=Previous high-DM=Previous LowCurrent LowSmoothed +/-DM=t=114DM(14t=114DM)+CDMCDM=Current DMATR=Average True Range

Calculating the Directional Movement Index (DMI)

  1. Calculate +DM, -DM, and the true range (TR) for each period. Typically 14 periods are used.
  2. +DM is the current high - previous high.
  3. -DM is the previous low - current low.
  4. Use +DM when the current high - previous high is greater than the previous low - current low. Use -DM when the previous low - current low is greater than the current high - previous high.
  5. The TR is the greater of the current high - current low, the current high - previous close, or the current low - previous close.
  6. Smooth the 14-period averages of +DM, -DM, and the TR. Below is the formula for TR. Insert the -DM and +DM values to calculate the smoothed averages of those as well.
  7. First 14TR = Sum of first 14 TR readings.
  8. Next 14TR value = First 14TR - (Prior 14TR/14) + Current TR
  9. Next, divide the smoothed +DM value by the smoothed average true range (ATR) value to get +DI. Multiply by 100.
  10. Divide the smoothed -DM value by the smoothed TR value to get -DI. Multiply by 100.
  11. The optional directional index (DX) is +DI minus -DI, divided by the sum of +DI and -DI (all absolute values). Multiply by 100.
  12. The average directional movement index (ADX) is a smoothed average of DX, and is another indicator that can be added to the DMI. To get the ADX, continue to calculate DX values for at least 14 periods. Then, smooth the results to get ADX.

What Does the Directional Movement Index (DMI) Tell You

The DMI is primarily used to help assess trend direction and provide trade signals.

Crossovers are the main trade signals. A long trade is taken when the +DI crosses above -DI and an uptrend could be underway. Meanwhile, a sell signal occurs when the -DI crosses above +DI. In such cases, a short trade may be initiated because a downtrend might be underway.

While this method may produce some good signals, it will also produce some bad ones since a trend may not necessarily develop after entry.

The indicator can also be used as a trend or trade confirmation tool. If the +DI is well above -DI, the trend has strength to the upside and this would help confirm current long trades or new long trade signals based on other entry methods. Conversely, if -DI is well above +DI, this confirms the strong downtrend or short positions.


The Directional Movement Index (DMI) vs. the Aroon Indicator

The DMI indicator is composed of two lines, with an optional third line. The Aroon indicator also has two lines. The two indicators both show positive and negative movement, helping to identify trend direction.

The calculations are different though, so crossovers on each of the indicators will occur at different times.

Limitations of the Directional Movement Index (DMI)

The DMI is part of a larger system called the average directional movement index (ADX). The trend direction of DMI can be incorporated with the strength readings of the ADX. Readings above 20 on the ADX means the price is trending strongly. Whether using ADX or not, the indicator is still prone to producing lots of false signals.

+DI and -DI readings and crossovers are based on historical prices and don't necessarily reflect what will happen in the future. A crossover can occur, but the price may not respond, resulting in a losing trade.

The lines may also crisscross, resulting in multiple signals but no trend in the price. This can be somewhat avoided by only taking trades in the larger trend direction based on long-term price charts, or incorporating ADX readings to help isolate strong trends.