I have the code in a couple languages, but I don't know ninja script well enough to translate it. Any insight is greatly appreciated!
Here it is in TradeStation:
inputs: period(20), factor(2.0);
vars: alpha(0), mt(0), ut(0), dt(0), mt2(0), ut2(0), dt2(0), but(0), blt(0);
{ smoothing constant }
alpha = 2/(period + 1);
mt = alpha*close + (1 - alpha)*mt;
ut = alpha*mt + (1 - alpha)*ut;
dt = ((2 - alpha)*mt - ut)/(1 - alpha);
mt2 = alpha*absvalue(close - dt) + (1 - alpha)*mt2;
ut2 = alpha*mt2 + (1 - alpha)*ut2;
dt2 = ((2 - alpha)*mt2 - ut2)/(1 - alpha);
but = dt + factor*dt2;
blt = dt - factor*dt2;
plot1(dt,"center");
plot2(but,"upper");
plot3(blt,"lower");
And here it is in Metastock code:
Better Bollinger Bands I
pds:=Input("Periods",2,200,20);
sd:=Input("Standard Deviations",.01,10,2);
alpha:=2/(pds+1);
mt:=alpha*C+(1-alpha)*(If(Cum(1)<pds,C,PREV));
ut:=alpha*mt+(1-alpha)*(If(Cum(1)<pds,C,PREV));
dt:=((2-alpha)*mt-ut)/(1-alpha);
mt2:=alpha*Abs(C-dt)+(1-alpha)*PREV;
ut2:=alpha*mt2+(1-alpha)*PREV;
dt2:=((2-alpha)*mt2-ut2)/(1-alpha);
but:=dt+sd*dt2;
blt:=dt-sd*dt2;
dt;
but;
blt
Thanks!
Comment