[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[EquisMetaStock Group] Re: DMX



PureBytes Links

Trading Reference Links

sumamura,


Try one of these and see which one comes the closest. Two versions 
here. Version A does not allow DMI periods to be set and has limited 
lag periods. Version B gives more flexibility by utilizing some of 
Jose's coding techniques. You will need to compare these to Jurik's 
DMX to see which one comes closer.

Preston

{Dynamic Momentum Xa (DMX)}
{version A - Does not allow DMI periods to be set}
{A low lag version of DMI written by Preston Umrysh}
{Indicator uses Dll developed by MetaStock Forum Crew }
{Available at <http://forum.equis.com> }
{For personal use only }
x:=Input("normal ouput=1 Biplolar index=2",1,2,1);
Period:= Input("ZeroLag Period ",1,6,5);
{Division errors occur with lag beyond 6}
EMA1:= Mov(C,Period,E);
EMA2:= Mov(EMA1,Period,E);
Difference:= EMA1 - EMA2;
Z:= EMA1 + Difference;
Vt:=(Stdev(C,5)/Mov(Stdev(C,5),10,S))*10;
Umom:=If(Z>Ref(Z,-1),Z-Ref(Z,-1),0);
Dmom:=If(Z<Ref(Z,-1),Ref(Z,-1)-Z,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);
SDM:=If(x=1,DMnm,DMin);
PLOT:=Input("[1]WMA [2]Wilders",1,2,2);
SPD:= Input("Final Smoothing Periods",1,100,3);
X:=Mov(SDM,SPD,W);{weighted}
Y:=Wilders(SDM,SPD);{wilders}
If(PLOT=1,X,Y)
{end}


{Dynamic Momentum Xb (DMX)} 
{version B - Allows DMI periods to be set}
{A low lag version of DMI written by Preston Umrysh}
{Indicator uses Dll developed by MetaStock Forum Crew }
{Available at <http://forum.equis.com> }
{with coding ideas from Jose Silva }
{<http://www.metastocktools.com> }
{For personal use only }
pds:=Input("DMI PERIODS",6,100,14);
Period:= Input("Lag Period ",1,50,10);
EMA1:= Mov(C,Period,E);
EMA2:= Mov(EMA1,Period,E);
Difference:= EMA1 - EMA2;
X:= EMA1 + Difference;
Vt:=Stdev(x,5)/Mov(Stdev(x,5),10,S);
pds:=pds/(Vt+.14142);
pds:=If(pds>Cum(IsDefined(x))-13,
Cum(IsDefined(x))-13,pds);
pds:=If(pds<2,2,pds);
Up:=If(x>Ref(x,-1),x-Ref(x,-1),0);
Dw:=If(x<Ref(x,-1),Ref(x,-1)-x,0);
PDX:=ExtFml("ForumDll.VarMOV",Up,pds,e);
MDX:=ExtFml("ForumDll.VarMOV",Dw,pds,e);
DSPL:=Input("[1]Normal [2]Bipolar",1,2,1);
PLOT:=Input("[1]WMA [2]Wilders",1,2,2);
SPD:= Input("Final Smoothing Periods",1,100,3);
CDM:=PDX/ MDX;
NDM:=100-(100/(1+CDM));
BDM:=100*(PDX - MDX)/
(PDX + MDX);
SDM:=If(DSPL=1,NDM,BDM);
X:=Mov(SDM,SPD,W);{weighted}
Y:=Wilders(SDM,SPD);{wilders}
If(PLOT=1,X,Y)
{end}





------------------------ Yahoo! Groups Sponsor --------------------~--> 
<font face=arial size=-1><a href="http://us.ard.yahoo.com/SIG=12hga9npv/M=362131.6882500.7825259.1493532/D=groups/S=1705375617:TM/Y=YAHOO/EXP=1123785210/A=2889190/R=0/SIG=10r90krvo/*http://www.thebeehive.org
">Put more honey in your pocket. (money matters made easy) Welcome to the Sweet Life - brought to you by One Economy</a>.</font>
--------------------------------------------------------------------~-> 

 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/equismetastock/

<*> To unsubscribe from this group, send an email to:
    equismetastock-unsubscribe@xxxxxxxxxxxxxxx

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/