Get all type of tested and working Amibroker afl for free

Dynamic Momentum Index


Dynamic Momentum Index
Dynamic Momentum Index

//www.aflcode.com
 //Dynamic Momentum Index 
GraphXSpace = 3;

CMO5_1=Sum( IIf( C > Ref( C, -1 ) , ( C - Ref( C ,-1 ) ) ,0 ) ,5 ) ;
CMO5_2=Sum( IIf( C < Ref( C ,-1 ) , ( Ref( C ,-1 ) - C )  ,0 ) ,5 );
CMO5=DEMA(100 * Nz(( CMO5_1 -CMO5_2)  /( CMO5_1+CMO5_2)),3);

//Cmo10 formula
CMO10_1=Sum( IIf( C > Ref( C, -1 ) , ( C - Ref( C ,-1 ) ) ,0 ) ,10 ) ;
CMO10_2=Sum( IIf( C < Ref( C ,-1 ) , ( Ref( C ,-1 ) - C )  ,0 ) ,10 );
CMO10=DEMA(100 * Nz(( CMO10_1 -CMO10_2)  /( CMO10_1+CMO10_2)),3);

//Cmo20 formula
CMO20_1=Sum( IIf( C > Ref( C, -1 ) , ( C - Ref( C ,-1 ) ) ,0 ) ,20 ) ;
CMO20_2=Sum( IIf( C < Ref( C ,-1 ) , ( Ref( C ,-1 ) - C )  ,0 ) ,20 );
CMO20=DEMA(100 * Nz(( CMO20_1 -CMO20_2)  /( CMO20_1+CMO20_2)),3);

// dmi formula
dmi=((StDev(C,5)* CMO5)+(StDev(C,10)* CMO10)+(StDev(C,20)*
CMO20))/(StDev(C,5)+StDev(C,10)+StDev(C,20));
pds=Param("Smoothing",5,1,10,1);
pds1=Param("Trigger Line",8,1,10,1);

Plot(EMA(dmi,pds),"Dynamic Momentum Index",colorBlue,4);
Plot(MA(dmi,pds1),"trigger",colorYellow,styleDashed);


Plot(-40,"",colorGreen,1+styleThick);
//Plot(-20,"",colorRed,1);
//Plot(0,"",colorBlue,1); 
//Plot(20,"",colorGreen,1); 
Plot(40,"",colorRed,1+styleThick); 

TEMP=(EMA(dmi,pds));

Buy=Cross(EMA(dmi,pds),MA(dmi,pds1)) AND TEMP<-35;
Sell=Cross(MA(dmi,pds1),EMA(dmi,pds)) AND TEMP>30;
PlotShapes(IIf(Buy,shapeDigit2,shapeNone) ,colorPink);
PlotShapes(IIf(Sell,shapeDigit3,shapeNone),colorOrange);

Title=EncodeColor(colorLightBlue)+"Dynamic Momentum "+EncodeColor(colorGold)+ "    Open: "+O+"    High: "+H+"    Low: "+L+"    Close: "+C+
 EncodeColor(colorWhite)+" \n CHART # 2       "+EncodeColor(colorBrightGreen)+Date()+EncodeColor(colorLightYellow)+"     This signal is early.";

Previous
Next Post »