Dynamic Momentum Index (DMI)
Description:
The Dynamic Momentum Index (DMI) was developed by Tushar Chande and Stanley Kroll. The indicator is covered in detail in their book The New Technical Trader.
The DMI is identical to Welles Wilder's Relative Strength Index except the number of periods is variable rather than fixed. The variability of the time periods used in the DMI is controlled by the recent volatility of prices. The more volatile the prices, the more sensitive the DMI is to price changes. In other words, the DMI will use more time periods during quiet markets, and less during active markets. The time periods the DMI can reach is around a maximum of 30 and a minimum of 3. The volatility index used in controlling the time periods in the DMI is based on a calculation using a five period standard deviation and a ten period average of the standard deviation. The advantage of using a variable length time period when calculating the RSI is that it overcomes the negative effects of smoothing, which often obscure short-term moves.
In this indicator the option to use a bipolar index is also introduced. The formula for a bipolar index is Bipolar =( up - down ) / ( up + down )
Interpretation:
Chande recommends using the DMI much the same as the RSI. However, because the DMI is more sensitive to market dynamics, it often leads the RSI into overbought / oversold territories by one or two days.
Like the RSI, look for overbought (bearish) conditions above 70 and oversold (bullish) conditions below 30. However, before basing any trade off of strict overbought/oversold levels using DMI or any overbought/oversold indicator, Chande recommends that you first qualify the trendiness of the market using indicators such as r-squared or CMO. If these indicators suggest a non-trending market, then trades based on strict overbought/oversold levels should produce the best results. If a trending market is suggested, you can use the DMI to enter trades in the direction of the trend.
Formula:
{Dynamic Momentum Index (DMI)}
{written by Preston Umrysh}
{This indicator uses Dll software developed by MetaStock Forum Crew}
{http://forum.equis.com)}
x:=Input("normal ouput=1 Biplolar index=2",1,2,1);
Vt:=(Stdev(C,5)/Mov(Stdev(C,5),10,S))*10;
Umom:=If(C>Ref(C,-1),C-Ref(C,-1),0);
Dmom:=If(C<Ref(C,-1),Ref(C,-1)-C,0);
UPS:= ExtFml( "ForumDll.VarSUM", Umom,Vt);
DNS:= ExtFml( "ForumDll.VarSUM", Dmom,Vt);
SumU:=ExtFml("ForumDll.VarMOV",UPS,Vt,e)/Vt;
SumD:=ExtFml("ForumDll.VarMOV",DNS,Vt,e)/Vt;
RS:=SumU/SumD;
DMnm:=100-(100/(1+RS));
DMIn:=(SumU-SumD)/(SumU+SumD);
If(x=1,DMnm,DMin); {end}
equismetastock@yahoogroups.com