MetaStock -> Tools -> Indicator Builder -> New Copy and paste formula below. ===================== EMA - Volume adjusted ===================== ---8<--------------------------- { Volume adjusted, dynamic-period EMA v2.3 } { EMA periodicity shortens on high volume, increases on low volume } { ©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))) ---8<--------------------------- http://www.metastocktools.com