|
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.
|