Adaptive Moving Average
MetaStock Formula

In MetaStock 6.5 or higher you can easily create the Perry Kaufman Adaptive Moving Average system. With MetaStock running, choose Indicator Builder from the Tools menu and then click on the New button. Enter the following formulas.

Adaptive Moving Average Binary Wave

Periods := Input("Time Periods",1,1000, 10);
Direction := CLOSE - Ref(Close,-periods);
Volatility := Sum(Abs(ROC(CLOSE,1,$)),periods);
ER := Abs(Direction/Volatility);
FastSC := 2/(2 + 1);
SlowSC := 2/(30 + 1);
SSC := ER * (FastSC - SlowSC) + SlowSC;
Constant := Pwr(SSC,2);
AMA := If(Cum(1) = periods +1, ref(Close,-1) + constant * (CLOSE - ref(Close,-1)),Prev + constant * (CLOSE - PREV));
FilterPercent := Input("Filter Percentage", 0,100,15)/100;
Filter := FilterPercent * Std(AMA - Ref(AMA,-1),Periods);
AMALow := If(AMA < Ref(AMA,-1),AMA,PREV);
AMAHigh := If(AMA > Ref(AMA,-1),AMA,PREV);
If(AMA - AMALow > Filter, 1 {Buy Signal}, If(AMAHigh - AMA > Filter, -1 {Sell Signal}, 0 {No_Signal}))
 
Adaptive Moving Average

Periods := Input("Time Periods",1,1000, 10);
Direction := CLOSE - Ref(CLOSE,-periods);
Volatility := Sum(Abs(ROC(CLOSE,1,$)),periods);
ER := Abs(Direction/Volatility);
FastSC := 2/(2 + 1);
SlowSC := 2/(30 + 1);
SSC := ER * (FastSC - SlowSC) + SlowSC;
Constant := Pwr(SSC,2);
AMA := If(Cum(1) = periods +1, ref(Close,-1) + constant * (CLOSE - ref(Close,-1)),Prev + constant * (CLOSE - PREV));
AMA
 

If you want to see the Adaptive Moving Average, just plot it on any chart. If you want to see the buy and sell signals of the Adaptive Moving Average system plot the Adaptive Moving Average Binary wave. This binary wave plots a 1 when there is a buy signal, a –1 when there is a sell signal and a zero when there is no signal.

 
 



  

 

ASX Data   ASX Real Time Data   MetaStock                                                 © Copyright 2004 Paritech Pty Ltd | Contact | Shopping Cart | Licence | Member Login | Privacy Policy