You are here

Directional Movement Index (DMI)

Printer-friendly versionPDF version

Wilder's DMI is similar to the historic volatility indicator because it shows market tendencies. The main use of this tool is to show the strength of a trend. This could direct the trader to use a trend following system or a counter trend system in their trading. It also indicates possible price reversals.

Directional Moving Index is plotted as three lines on a scale of 0 to 100. This scale is a measure of market trend. The two lines of DMI show the amount of positive and negative movement. The positive line is called D+ and the negative D-. The direction of these lines and the use of crossovers can show the changes in the current market. The key to this indicator is the ADX, or average of the difference of these two lines. The ADX is the main factor in using this indicator. During periods of extreme price variation the two lines can become very volatile, and the ADX is used to compensate for this.

The best application of DMI is present when used with another indicator. DMI should either confirm or contradict the indicator being used. It is also best to use DMI in long-term trade situations. Because the study is not as sensitive as other indicators it is appropriate to use it as a confirmation tool. When the DMI is advancing, the average is higher on the 0 to 100 scale, trend following systems are best employed. Likewise, with a decreasing DMI average, the line is lower on the scale, closer to 0, so a counter trend system might be best. These traits represent the fact that as the average line goes higher in the scale the strength of the trend is gaining, and as the ADX goes lower the trend is losing strength. It is also important to look at the individual lines for changes in price movement.

The other application for DMI is to look at the D+ and D- lines themselves. When the D+ line crosses above the D- line a buy signal is initiated. This indicates that the positive price direction is greater than the negative. Conversely, once the D+ line crosses below the D- line, a sell trigger is present. The negative price movement is overtaking the positive.

Welles Wilder himself said that he was not comfortable using these two lines by themselves. When looking at reversals, the ADX should be above both lines, and once it turns lower we should see a change in market direction. You should also look to ADX for confirmation.

This application is much the same as momentum, showing a change in the market sentiment. Wilder also says that a trend following system should not be used when the ADX line is below both D lines, as this means that the market has no discernible direction.

When using the D+ and D- crossover method, Wilder stresses the use of an extreme point. On the day the crossover occurs, the extreme point is the high or low of the day (high for a buy, and low for a sell). The market should be able to take out that price and stay beyond it for several days before the trade is initiated or exited. This use of extreme points should keep the trader from getting into whipsaws or false breakouts.


The computations needed to generate the final figures for the DMI are not complex but are numerous and lengthy. The following discussion attempts to unravel the computational mysteries of the DMI. If you need further explanation, please refer to the author's original work. The book titled New Concepts in Technical Trading Systems by J. Welles Wilder, Jr., explains this indicator and several others.

You must first compute the directional movement, DM, for the current trading interval. Directional movement can be up, down, or zero. If directional movement is up, it is labeled as +DM, and -DM refers to downward directional movement. Wilder defines directional movement as the largest part of the current trading range that is outside the previous trading range. From a mathematical view, it is the largest value between two equations:

Hight - Hight-1 or Lowt - Lowt-1

This is only true when the current low is less than the previous low, or the current high exceeds the previous high. Both of these conditions do not have to be met, only one. It is the largest portion of the trading range outside of the previous trading range.

It is possible for the directional movement to be zero. This occurs when the current trading range is inside the previous trading range, or when the trading ranges, current versus previous, are equal.

Directional movement is up, or positive, when the difference between the highs is the greatest. It is down, or negative, when the difference between the lows is the largest value. The up directional movement is +DM and down directional movement is -DM. Do not let the plus and minus sign designation mislead you. They only indicate upward or downward movement, not values. The directional movement value is always a positive number, or absolute value, regardless of upward or downward movement. This concept is crucial to understanding the computations for the indicator. If you are confused, draw some illustrations or work with actual price data to determine the directional movement values.

The next step in determining the DMI is to compute the true range. The true range (TR) is always a positive number. According to the Wilder, the true range is the largest value of three equations:

Hight - Lowt
Hight - Closet-1
Lowt - Closet-1

Continue this process for the specified trading interval. In this example, use a value of 14. This is the same value Wilder used on daily data. His logic for using this value is that it represents an average half-cycle period. When this task is accomplished for the specified interval, you compute the average value of the +DM, -DM, and TR. Wilder prefers to use an accumulation technique rather than computing a pure moving average. It is a short cut designed to save computational time and effort:

Averaget = (Averaget-1 - (Averaget-1 / n)) + Valuet

When you substitute the above symbols, you these equations:

+DMt = (+DMt-1 - (+DMt-1 / n)) + (+DMt)
-DMt = (-DMt-1 - (-DMt-1 / n)) + (-DMt)
TRt = (TRt-1 - (TRt-1 / n)) + (TRt)

It is a timesaving convention. This indicator was developed before microcomputers were invented. The only tool available was the desktop calculator or adding machine. You could spend a great deal of time and effort calculating averages.

You now have the average values. The next step is to compute the directional indicator. It can be either up or down, depending upon the directional movement. On up intervals use this calculation:

+DI = (+DM / TR) x 100
On a down interval use this formula:
-DI = (-DM / TR) x 100

The plus and minus directional indicator values are computed as percentage figures. You are expressing the percentage of the average true range for both up and down trading intervals.

If you have followed this process so far, the last few steps are relatively simple. You compute the difference between the +DI and the -DI. Remember to use the absolute value of this difference (Convert any negative value into a positive number).

DIdiff = | ((+DI) - (-DI)) |

Compute the sum of the directional indicator values using this formula:

DIsum = ((+DI) + (-DI))

Once you compute the DIdiff and the DIsum, you can calculate the DX or directional movement index. This value is always a percentage:

DX = (DIdiff / DIsum) x 100

The DX is always a value between 0 and 100. If your calculations exceed this range, you have made an error. Wilder was not comfortable using just the directional movement index. It could become very volatile during periods of extreme price movement, especially markets that rise and fall quickly. He implements his accumulated moving average technique to smooth the DX. The result is the ADX or average directional movement index. This is the computational procedure:

ADXt = ( (ADXt-1 x (n - 1) ) + DXt) / n

Buy/Sell Signals

A buy signal occurs when the DMI+ line crosses from below the DMI- line to above the DMI- line. A sell signal occurs when the DMI+ line crosses from above the DMI- line to below the DMI- line.

Filters to Adjust Buy/Sell Signals

Extreme Point Validation: This filter delays the buy/sell arrows at least a day by requiring that the market move higher or lower than the high or low on the day the DM+,DM- crossover happened. If a new high or low is not obtained before the next DM+,- crossover, the buy/sell arrow is suppressed completely for that previous period. The filter does not require the use of DX/ADX, although it does stack with the other filers if they are used.

Trend Strength: The DX or ADX line must be above the target number before a DM+,- cross will give a buy/sell arrow. The theory is the DX/ADX lines indicate trend strength (not direction) and if it is below 20 there is practically no trend. Values above 40 indicate a strong trend. Different articles would use values between 20 and 40 as targets to look for. This box must be selected for this rule to be available.

Turning Point Validation: The directional index line (DX or ADX) must be above the point where DM+,- crossed. This is like a variable trend strength filter. The directional index can indicate any trend strengths as long as the trend strength is greater than the value of the DM+,- crossing point. This indicator also requires that the directional index line be on.


Right-click on the DMI button in your Indicator toolbar and select DMI Settings. The Preferences Tab will open in the Control Panel and the DMI preferences will be displayed. (Once you click on the chart, the Preference tab will go back to chart settings.)

Restore Settings: TNT Default will change your settings back to the original software settings. My Default will change current settings to your personalized default settings. Apply To All Charts will apply your selected settings on all open charts. Save As My Default will save your current personal settings.

DMI Period: The number of bars, or interval, used to calculate the study. Default is 14.

ADX Period: Specify the number of price bars used in calculating ADX.

DMI+, DMI-, DM: Choose the color, line style, and line thickness of your line. Select Use Relative Scaling to change the 100% location to the highest point value in the DMI indicator.

View up to four Thresholds at values and colors of your choice. Threshold 1 is used for Trend Strength (default value set at 40).

Choose when you want Buy/Sell Arrows to show and what color. Select if you would like to view Extreme Point Validation, Trend Strength, or Turning Point Validation filters.