MetaStock™ Zone Forum & FAQ Artykuły Linki Elliott Waves EasyLanguage™ Zone

 A B C D E F G H I J K L M N O P R S T U V W Y Z #

Exponential Moving Average - Volume Adjusted by Jose Silva
Exponential Moving Average - improved volume-adjusted, dynamic-period EMA with multiple output choice.

Exponential Moving Average - Volume Adjusted

{ Volume adjusted, dynamic-period EMA v2.3 }
{ EMA periodicity shortens on high volume,
increases on low volume }
{ (c) Copyright 2003-2004 Jose Silva }
{ http://www.metastocktools.com }

pds:=Input("EMA periods",1,2520,21);
VAvgPds:=Input("Volume sample periods",
2,252,21);
x:=Input("use Open=1 High=2 Low=3 Close=4 Volume=5 P=6",1,6,4);
shift:=1+Input("EMA vertical shift %",
-100,100,0)/100;
plot:=Input("EMA=1, Dyn EMA pds=2, Vol avg=3, Crossovers=4",1,4,1);

x:=If(x=1,O,If(x=2,H,If(x=3,L,If(x=5,V,If(x=6,P,C)))));
MovVol:=Mov(V,VAvgPds,E);
VolRatio:=Min(V,MovVol)/Max(V,MovVol);
VolAvg:=If(V>MovVol,2-VolRatio,VolRatio);
multi:=.75/(.1+.32*VolAvg+.58*Power(VolAvg,4));
pds:=pds*multi;
pds:=If(pds>Cum(IsDefined(x))-VAvgPds,
Cum(IsDefined(x))-VAvgPds,pds);
pds:=If(pds<1,1,pds);
VlEma:=x*2/(pds+1)+PREV*(1-2/(pds+1));
VlEma:=VlEma*shift;
signals:=Cross(x,VlEma)-Cross(VlEma,x);

If(plot=2,pds,If(plot=3,VolAvg*50,
If(plot=4,signals,VlEma)))

Source / From: TOP
http://www.metastocktools.com

Equis and MetaStock® and MetaStock Professional® are registered trademarks of Equis International. Achelis Binary Wave®, The DownLoader®,
Expert Advisor®, OptionScope®, Quotecenter® and Smart Charts® are trademarks of Equis International, a Thomson Reuters company.