Preston,
When I try to use this it ask for the dll's in the MSX DLL folder. What path do I need to create so it find these ForumDll's ????
Thanks,
John
-------Original Message-------
Date: 08/11/05 12:35:23
Subject: [EquisMetaStock Group] Re: DMX
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}
|