Kaufman's Adaptive Moving Average II
{ Kaufman AMA indicator }
PriceSeries:=Input("Prices series - 0:O|1:H|2:L|3:C",0,3,3);
Periods:=Input("Periods",1,32767,10);
FEndF:=Input("Fast end factor",0,1,0.666);
SEndF:=Input("Slow end factor",0,1,0.0645);
Pr:=If(PriceSeries=0,OPEN,If(PriceSeries=1,HIGH,If(PriceSeries=2,LOW,CLOSE)));
Signal:=Abs(Pr-Ref(Pr,-Periods));
Dnoise:=Abs(Pr-Ref(Pr,-1));
Noise:=Sum(Dnoise,Periods);
EffRatio:=If(Noise>0.,Signal/Noise,0.);
FERatio:=FEndF*EffRatio+SEndF*(1-EffRatio);
SmoothF:=Power(FERatio,2);
PKAMA:=Pr*SmoothF+(1-SmoothF)*PREV;
PKAMA;