Hi Chris,
I wonder whether you have a solution to this script below. If been trying to adapt it to VT but there is a variable "IsDefined" that's not recognized by VT. I can't even find it in the regular Metastock manual. Is there a way around it? Also, how do you code the "plot" input variable (is it with enumeration?).
Thanks,
Gernot
{RSI-volatility adjusted, dynamic-period EMA v2}
{ Tightens EMA on RSI over-bought/sold levels,
increases EMA periods on low RSI volatility }
{ ©Copyright 2003-2004 Jose Silva }
{ http://www.***************.com }
pds:=Input("EMA periods",1,2520,21);
pdsRs:=Input("RSI 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("vertical shift %",-100,100,0)/100;
plot:=Input("EMA=1, dyn EMA pds=2, RSI volatility=3, signals=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)))));
RSvoltl:=Abs(RSI({x,}pdsRs)-50)+1;
multi:=(5+100/pdsRs) /(.06+.92*RSvoltl+.02*Power(RSvoltl,2));
pds:=pds*multi;
pds:=If(pds>Cum(IsDefined(x))-pdsRS, Cum(IsDefined(x))-pdsRS,pds);
pds:=If(pds<1,1,pds);
RsVEma:=x*2/(pds+1)+PREV*(1-2/(pds+1));
signals:=Cross(x,RsVEma)-Cross(RsVEma,x);
If(plot=2,pds,If(plot=3,(RSvoltl-1)*2, If(plot=4,signals,RsVEma*shift)));