Рекурсивная трендовая средняя
Recursive Moving Trend Average (RMTA)
Adam Hefner. e-mail: VonHef@itlnet.net
Это название статьи в декабрьском номере TASC, написанной
Dennis Meyers. В ней описано то, что называется "Рекурсивная трендовая
средняя":
{Рекурсивная трендовая средняя - Recursive Moving
Trend Average - RMTA}
Lb:=Input("Look-Back Period?",3,100,21);
Alpha:=2/(LB+1);
Bot:=(1-Alpha)*(If(Cum(1)<Lb,C,PREV))+C;
RMTA:=(1-Alpha)*(If(Cum(1)<Lb,C,PREV))+
(Alpha*Abs(C+Bot-Ref(Bot,-1)));
RMTA;

Затем он дополнил ее, создав осциллятор вычитанием экспоненциальной
средней из рекурсивной средней:
{TOSC}
Lb:=Input("Look-Back Period?",3,100,21);
Alpha:=2/(LB+1);
Bot:=(1-Alpha)*(If(Cum(1)<Lb,C,PREV))+C;
RMTA:=(1-Alpha)*(If(Cum(1)<Lb,C,PREV))+
(Alpha*Abs(C+Bot-Ref(Bot,-1)));
TOSC:=RMTA-Mov(C,lb,E);
TOSC;

А здесь коды для System Testing;
Buy Long:
Lb:=opt1;
ent:=3;
Alpha:=2/(LB+1);
Bot:=(1-Alpha)*(If(Cum(1)<Lb,C,PREV))+C;
RMTA:=(1-Alpha)*(If(Cum(1)<Lb,C,PREV))+
(Alpha*Abs(C+Bot-Ref(Bot,-1)));
TOSC:=RMTA-Mov(C,lb,E);
Cross(tosc,(0-Abs(ent)))
Sell short:
Lb:=opt1;
ent:=3;
Alpha:=2/(LB+1);
Bot:=(1-Alpha)*(If(Cum(1)<Lb,C,PREV))+C;
RMTA:=(1-Alpha)*(If(Cum(1)<Lb,C,PREV))+
(Alpha*Abs(C+Bot-Ref(Bot,-1)));
TOSC:=RMTA-Mov(C,lb,E);
Cross((0+Abs(ent)),tosc)
Opt1 - это количество периодов look- back, от 3 до 30.

Сверху обозначена Equity Curve
|
|