Торговые тактики для MetaStock
MA-S&R
Система с открытием и закрытием позиций при пересечении средней скользящей - МА (S&R – открытие новой позиции всегда означает закрытие предыдущей позиции, - разворот или реверс).
Enter Long
C > Mov(C,opt1,E) AND Ref(C,-1) <= Ref( Mov(C,opt1,E), -1)
Exit Long
C < Mov(C,opt1,E)
Enter Short
C < Mov(C,opt1,E) AND Ref(C,-1) >= Ref( Mov(C,opt1,E), -1)
Exit Short
C > Mov(C,opt1,E)
MAcross&PbСhan
Enter Long
BarsSince(Cross(C, Mov(C, opt1, S))) < opt2 AND BarsSince(Cross(C, Mov(C, opt1, S)))>0
AND L < LLV(Ref(LOW, -1), opt3)
Exit Long
C < Mov(C, opt1, S)
Enter Short
BarsSince(Cross( Mov(C, opt1, S), C)) < opt2 AND BarsSince(Cross( Mov(C, opt1, S), C)) >0 AND H > HHV(Ref(HIGH, -1), opt3)
Exit Short
C > Mov(C, opt1, S)
Позиция закрывается, если цена закрывается по другую сторону cкользящей - МА. Вариант выхода из позиции и открытие в противоположную сторону получается, если правила выхода из позиций заменить на:
Exit Long L < LLV(Ref(LOW, -1), opt3)
Exit Short H > HHV(Ref(HIGH, -1), opt3)
Чтобы получить открытием позиций по тренду в определяемую системой сторону, надо к правилу открытия длинных позиций добавить
AND DX(opt4) > opt5 AND PDI(opt4) > MDI(opt4),
а к правилу открытия коротких позиций добавить
AND DX(opt4) > opt5 AND PDI(opt4) < MDI(opt4)
1MA-3CC_eаc
3 consecutive closing beyond MA with exit after closing on backward cross
Открытие позиции при пересечении МА при тройном закрытии за MАn, с выходом из позиции по обратному пересечению МА
opt1 – длина МА (n)
Enter Long
C> Mov(C,opt1,S) AND Ref(C> Mov(C,opt1,S), -1)
AND Ref(C> Mov(C,opt1,S), -2)
Exit Long
C< Mov(C,opt1,S)
Enter Short
C<= Mov(C,opt1,S) AND Ref(C<= Mov(C,opt1,S), -1)
AND Ref(C<= Mov(C,opt1,S), -2)
Exit Short
C> Mov(C,opt1,S)
Позиция закрывается, если цена закрывается по другую сторону скользящей средней - МА. Возможен вариант, когда для закрытия используется МА другой длины, чем МА открытия.
2MАcross_S&R
S&R система с открытием позиций по пересечению двух МА - скользящих средних с разными периодами рпасчета.
Enter Long
Cross( Mov(C, opt1, S), Mov(C, opt2, S))
Exit Long
Cross( Mov(C, opt2, S), Mov(C, opt1, S))
Enter Short
Cross( Mov(C, opt2, S), Mov(C, opt1, S))
Exit Short
Cross( Mov(C, opt1, S), Mov(C, opt2, S))
3MАcrossovers
Система с тремя скользящими средними - МА, позиция открывается по пересечению короткой и самой медленной МА, а закрывается по противоположному пересечению короткой и средней МА.
Enter Long
Cross(Mov(C, opt1, S), Mov(C, opt3, S))
Exit Long
Mov(C, opt1, S) < Mov(C, opt2, S)
Enter Short
Cross( Mov(C, opt3, S), Mov(C, opt1, S))
Exit Short
Mov(C, opt1, S) > Mov(C, opt2, S)
4MАcrossovers
Stop&Revers система, позиции открываются, если пары скользящих средних ересекаются, если другая пара МА подтверждает направление этого пересечения
Enter Long
Cross(Mov(C, opt1, S), Mov(C, opt2, S)) AND Mov(C, opt3, S) > Mov(C, opt4, S) OR
Cross(Mov(C, opt3, S), Mov(C, opt4, S)) AND Mov(C, opt1, S) > Mov(C, opt2, S)
Exit Long
Cross(Mov(C, opt2, S), Mov(C, opt1, S)) AND Mov(C, opt3, S) < Mov(C, opt4, S) OR
Cross(Mov(C, opt4, S), Mov(C, opt3, S)) AND Mov(C, opt1, S) < Mov(C, opt2, S)
Enter Short
Cross(Mov(C, opt2, S), Mov(C, opt1, S)) AND Mov(C, opt3, S) < Mov(C, opt4, S) OR
Cross(Mov(C, opt4, S), Mov(C, opt3, S)) AND Mov(C, opt1, S) < Mov(C, opt2, S)
Exit Short
Cross(Mov(C, opt1, S), Mov(C, opt2, S)) AND Mov(C, opt3, S) > Mov(C, opt4, S) OR
Cross(Mov(C, opt3, S), Mov(C, opt4, S)) AND Mov(C, opt1, S) > Mov(C, opt2, S)
MACDsystem
Stop&Revers система, позиции открываются, если линии MACD пересекается с сигнальной (сглаженной) линией.
Enter Long
Cross(Mov(C,opt1,E) - Mov(C,opt2, E), Mov(Mov(C,opt1,E) - Mov(C,opt2, E),opt3,E))
Exit Long
Cross(Mov(Mov(C,opt1,E) - Mov(C,opt2, E),opt3,E), Mov(C,opt1,E) - Mov(C,opt2, E))
Enter Short
Cross(Mov(Mov(C,opt1,E) - Mov(C,opt2, E),opt3,E), Mov(C,opt1,E) - Mov(C,opt2, E))
Exit Short
Cross(Mov(C,opt1,E) - Mov(C,opt2, E), Mov(Mov(C,opt1,E) - Mov(C,opt2, E),opt3,E))
Системы на основе ценовых диапазонов
Envel_break
Stop&Revers система прорыва конверта
Enter long
Cross(C,(1+opt1)* Mov(C, opt2, S))
Exit long
Cross((1-opt1)* Mov(C, opt2, S), C)
Enter short
Cross((1-opt1)* Mov(C, opt2, S), C)
Exit short
Cross(C,(1+opt1)* Mov(C, opt2, S))
Envel_ antitrend
Антитрендовая Stop&Revers система возврата в конверт
Enter long
Cross((1-opt1)* Mov(C, opt2, S), C)
Exit long
Cross(C,(1+opt1)* Mov(C, opt2, S))
Enter short
Cross(C,(1+opt1)* Mov(C, opt2, S))
Exit short
Cross((1-opt1)* Mov(C, opt2, S), C)
ExtraOpt
Extraordinary opportunities system. Open на выходе МА из конверта.
Enter Long
Cross(Mov(C,opt1,S), (1+opt3) * Mov(C,opt2,S)) AND Mov(C,opt1,S)> Ref(Mov(C,opt1,S),-1)
Enter Short
Cross((1-opt3)*Mov(C,opt2,S), Mov(C,opt1,S)) AND
Mov(C,opt1,S)< Ref(Mov(C,opt1,S),-1)
Добавлено условие, чтобы МА в момент пересечения границы конверта была направлена в сторону пересечения (росла при выходе выше верхней линии и убывала при выходе ниже нижней линии).
BolBand_reversal
Антитрендовая система, открытие позиций, если цена возвращается внутрь Bollinger Band; позиция закрывается при пересечении противоположной границы канала Bollinger Band.
Enter Long
Cross(C, BBandBot(C, opt1, S, opt2))
Exit Long
Cross(C, BBandTop(C, opt1, S, opt3))
Enter Short
Cross( BBandTop(C, opt1, S, opt2), C)
Exit Short
Cross(BBandBot(C, opt1, S, opt3), C)
BolBand&RSI
Антитрендовая система, позиции открываются, если Bollinger Bands и RSI одновременно показывают состояние перекупленности/перепроданности
Enter Long
Cross(BBandBot(C, opt1, S, opt2), C) AND RSI(opt3) < opt5
Exit Long
Cross(C, BBandTop(C, opt1, S, opt2)) AND RSI(opt3) > opt4
Enter Short
Cross(C, BBandTop(C, opt1, S, opt2)) AND RSI(opt3) > opt4
Exit Short
Cross(BBandBot(C, opt1, S, opt2), C) AND RSI(opt3) < opt5
Возможные варианты этих систем: для закрытия используется линия с другим параметром усреднения, чем для открытия, или с другим параметром рассеяния.
Кeltner Channel
Enter Long
Cross(C, Mov((C+H+L)/3, opt1, S) + Mov(H-L, opt1, S))
Exit Long
C < Mov((C+H+L)/3, opt1, S)
Enter Short
Cross(Mov((C+H+L)/3, opt1, S) - Mov(H-L, opt1, S), C)
Exit Short
C> Mov((C+H+L)/3, opt1, S)
STARC Band
Enter Long
Cross(C, Mov(C,opt1, S) + opt2* ATR(opt3))
Exit Long
C < Mov(C, opt1, S)
Enter Short
Cross(Mov(C, opt1, S) - opt2* ATR(opt3), C)
Exit Short
C > Mov(C, opt1, S)
Parabolic&MA
Enter Long
Ref(C,-1)<Ref(SAR(opt1, opt2),-1) AND C>SAR(opt1, opt2)
AND C > Mov(C, opt3,S)
Enter Short
Ref(C,-1)>Ref(SAR(opt1, opt2),-1) AND C<SAR(opt1, opt2)
AND C < Mov(C, opt3,S)
VolatilitySyst_ATR
Enter Long
Cross(C,Ref(C + opt2* ATR(opt1), -1))
Enter Short
Cross(Ref(C - opt2* ATR(opt1), -1), C)
ChannelReturning
Stop&Revers система возврата в канал
Enter Long
Cross(LLV(Ref(LOW, -1) , opt1), C)
Exit Long
Cross(C, HHV(Ref(HIGH, -1), opt1))
Enter Short
Cross(C, HHV(Ref(HIGH, -1), opt1))
Exit Short
Cross(LLV(Ref(LOW, -1) , opt1), C)
ChannellBreakout
Stop&Revers система прорыва канала
Enter Long
Cross(C, HHV(Ref(HIGH, -1), opt1))
Exit Long
Cross(LLV(Ref(LOW, -1) , opt1), C)
Enter Short
Cross(LLV(Ref(LOW, -1) , opt1), C)
Exit Short
Cross(C, HHV(Ref(HIGH, -1), opt1))
ChanBreak&PullBack
Channel breakout with pull back.
Открытие на прорыве диапазона с последующим откатом; opt1 – параметр окна просмотра границ канала, opt2 – параметр продолжительности ожидания отката
opt3 - параметр окна просмотра канала отката
Enter Long
BarsSince(Cross(C, HHV(Ref(HIGH, -1), opt1))) < opt2 AND BarsSince(Cross(C, HHV(Ref(HIGH, -1), opt1))) >0 AND L < LLV(Ref(LOW, -1), opt3) AND L > LLV(Ref(LOW, -1) , opt1)
Exit Long
C < LLV(Ref(LOW, -1), opt1)
{OR Cross(C, HHV(Ref(HIGH, -1), opt1)) AND BarsSince(Cross(C, HHV(Ref(HIGH, -1), opt1))) >1}
Enter Short
BarsSince(Cross(LLV(Ref(LOW, -1), opt1), C)) < opt2 AND BarsSince(Cross(LLV(Ref(LOW, -1), opt1), C)) > 0 AND H > HHV(Ref(HIGH, -1), opt3) AND H < HHV(Ref(HIGH, -1), opt1)
Exit Short
C > HHV(Ref(HIGH, -1), opt1)
{OR Cross(LLV(Ref(LOW, -1), opt1), C) AND BarsSince(Cross(LLV(Ref(LOW, -1), opt1), C)) > 1}
Comment. Исключается открытие на свече, которая пробила границу канала. Если за период ожидания отката цена пересекла противоположную границу канала, то позиция не открывается. Открытая позиция ликвидируется, если цена пересекла противоположную границу канала.
LinRegr_extr
Противотрендовая система с границами канала – типа линейного прогноза экстремумов; открытие на откате внутрь канала.
Enter Long
LOW > TSF(LOW, opt1) AND Ref(LOW, -1) > TSF(LOW, opt1)
AND Ref(LOW, -2) > TSF(LOW, opt1)
Enter Short
HIGH < TSF(HIGH, opt1) AND Ref(HIGH, -1) < TSF(HIGH, opt1)
AND Ref(HIGH, -2) < TSF(HIGH, opt1)
Торговые системы на основе трендовых индикаторов
ADX_Wilders
Открытие позиции на пересечении +DI и -DI, при условии, что ADX растет. Уровень открытия позиции – экстремум свечи, на которой имело место пересечение +DI и –DI. Этот экстремум должен быть достигнут не позже, чем на opt2 свече после пересечения +DI и –DI.
Enter Long
Cross(C, ValueWhen(1, Cross(PDI(opt1),MDI(opt1)) AND Ref(ADX(opt1),-1) < ADX(opt1), HIGH) ) AND
BarsSince(Cross(PDI(opt1),MDI(opt1)) AND Ref(ADX(opt1),-1) < ADX(opt1)) < opt2
Enter Short
Cross(ValueWhen(1, Cross(MDI(opt1),PDI(opt1)) AND Ref(ADX(opt1),-1) < ADX(opt1), LOW),C) AND
BarsSince(Cross(MDI(opt1),PDI(opt1)) AND Ref(ADX(opt1),-1) < ADX(opt1)) < opt2
ADX&MA
Открытие позиции в начале нового движения (при пересечении +DI и –DI), либо на трендовом рынке (ADX выше порога opt4) при пересечении цены и скользящей средней
Enter Long
Cross(C,ValueWhen(1,Cross(PDI(opt1),MDI(opt1)),HIGH)) AND
BarsSince(Cross(PDI(opt1),MDI(opt1))) < opt2
OR C > Mov(C, opt3, S) AND ADX(opt1) > opt4
Enter Short
Cross(ValueWhen(1,Cross(MDI(opt1),PDI(opt1)), LOW),C) AND
BarsSince(Cross(MDI(opt1),PDI(opt1))) < opt2
OR C < Mov(C, opt3, S) AND ADX(opt1) > opt4
ADXtop&Pullback
Открытие позиций на откате от границы канала после появления максимума ADX.
Enter Long
BarsSince(Ref(ADX(opt1),-2) <= Ref(ADX(opt1),-1) AND
Ref(ADX(opt1),-1) > ADX(opt1) AND ADX(opt1) > opt2
AND PDI(opt1) > MDI(opt1) ) < opt3 AND
C < LLV(Ref(LOW, -1), opt4)
Enter Short
BarsSince(Ref(ADX(opt1),-2) <= Ref(ADX(opt1),-1) AND
Ref(ADX(opt1),-1) > ADX(opt1) AND ADX(opt1) > opt2
AND PDI(opt1) < MDI(opt1) ) < opt3
AND C > HHV(Ref(HIGH, -1), opt4)
ADX-Burst-2МА System
ADX burst trend-seeking system.
ADX-импульсная трендовая система.
(Вспомогательный индикатор, полезный при компьютерном исследовании системы: ADXburst - величина 1-периодного изменения индикатора ADX, т.е. Momentum1(ADX)
Periods:= Input("Enter ADX periods", 8, 144, 14);
Abs(ADX(Periods)- Ref(ADX(Periods),-1))
Индикатор ADXburst определяет момент открытия позиции (ADXburst>1 указывает на скачок графика), а направление позиции диктуется расположением двух МА).
Enter Long
Mov(C, opt1, S) > Mov(C, opt2, S) AND Abs(ADX(opt3)- Ref(ADX(opt3),-1)) > 1
Enter Short
Mov(C, opt1, S) < Mov(C, opt2, S) AND Abs(ADX(opt3)- Ref(ADX(opt3),-1)) > 1
TAT System
Trend-antitrend system.
При растущем ADX (ADX>MA(ADX)) open на выходе из канала (buy new high, sell new low), при падающем ADX open внутрь канала ((buy new low, sell new high)
Enter Long
H > HHV(Ref(HIGH,-1),opt1) AND ADX(opt2) > Mov(ADX(opt2), opt3, S) OR
L < LLV(Ref(LOW, -1), opt1) AND ADX(opt2) < Mov(ADX(opt2), opt3, S)
Enter Short
H > HHV(Ref(HIGH,-1),opt1) AND ADX(opt2) < Mov(ADX(opt2), opt3, S) OR
L < LLV(Ref(LOW, -1), opt1) AND ADX(opt2) > Mov(ADX(opt2), opt3, S)
RAVI&MaSystem
Enter Long
Abs(Mov( C, opt1, S) - Mov(C, opt2, S))/Mov( C, opt2, S) > opt3
AND C > Mov( C, opt4, S)
Enter Short
Abs(Mov( C, opt1, S) - Mov(C, opt2, S))/Mov( C, opt2, S) > opt3
AND C < Mov( C, opt4, S)
Системы на основе осцилляторов
RSI_os/ob
Sell при пересечении осциллятором RSI уровня перекупленности сверху вниз, а Buy при пересечении осциллятором RSI уровня перепроданности снизу вверх
Enter Long
Cross(RSI(opt1), opt2)
Enter Short
Cross(opt3, RSI(opt1))
RSIos/ob_&2MAantitrend
Антитрендовая система, направление тренда определяется расположением двух МА, позиции открываются против тренда, если RSI выходит из области перекупленности/перепроданности.
Enter Long
Cross(RSI(opt1), opt2) AND Mov(C, opt4, S) < Mov(Mov(C, opt4, S), opt5, S)
Exit Long
Cross(opt3, RSI(opt1)) OR Cross(Mov(Mov(C, opt4, S), opt5, S), Mov(C, opt4, S))
Enter Short
Cross(opt3, RSI(opt1)) AND Mov(C, opt4, S) > Mov(Mov(C, opt4, S), opt5, S)
Exit Short
Cross(RSI(opt1), opt2) OR Cross( Mov(C, opt4, S), Mov(Mov(C, opt4, S), opt5, S))
2MARSIcross&Boll_AT
Антитрендовая Stop&Revers система с открытием позиций по пересечению двух скользящих средних от RSI; BolligerBand используется для определения состояний перекупленности/перепроданности рынка.
Enter Long
Cross(Mov(RSI(opt1), opt2,S), Mov(Mov(RSI(opt1), opt2,S) , opt3,S))
AND C < BBandBot(C, opt4, S, opt5)
Enter Short
Cross(Mov(Mov(RSI(opt1), opt2,S) , opt3,S) , Mov(RSI(opt1), opt2,S))
AND C > BBandTop(C, opt4, S, opt5)
Stochastic_os/ob
Sell при пересечении осциллятором Stochastic уровня перекупленности сверху вниз, Buy при пересечении осциллятором Stochastic уровня перепроданности снизу вверх.
Enter Long
Cross(Stoch(opt1,opt2), opt3)
Enter Short
Cross(opt4,Stoch(opt1,opt2))
Stochastic_os/ob&DMItrend
Открытие позиций при пересечении осциллятором Stochastic уровней перекупленности/перепроданности, а также при пресечении быстрой и медленной линий Stochastic в направлении, указываемом DMS
Enter Long
Cross(Stoch(opt1,opt2),opt3) OR
Cross(Stoch(opt1,opt2),Mov(Stoch(opt1,opt2), opt5,S)) AND
PDI(opt6) > MDI(opt6) AND ADX(opt6)> Ref(ADX(opt6), -1)
Enter Short
Cross(opt4,Stoch(opt1,opt2))OR
Cross(Mov(Stoch(opt1,opt2), opt5,S), Stoch(opt1,opt2)) AND
PDI(opt6) < MDI(opt6) AND ADX(opt6)> Ref(ADX(opt6), -1)
Stoch_RightCross
Открытие позиций при пересечении быстрой и медленной линий осциллятора Stochastic
Enter Long
Cross(Stoch(opt1,opt2),Mov(Stoch(opt1,opt2), opt3,S)) AND
Ref(Mov(Stoch(opt1,opt2),opt3,S),-1) < Mov(Stoch(opt1,opt2), opt3,S)
Enter Short
Cross(Mov(Stoch(opt1,opt2), opt3,S), Stoch(opt1,opt2)) AND
Ref(Mov(Stoch(opt1,opt2),opt3,S),-1) > Mov(Stoch(opt1,opt2), opt3,S)
double_MACD
Enter Long
Cross(Mov(C,opt1,S) - Mov(C,opt2, S), Mov(Mov(C,opt1,S) - Mov(C,opt2, S),opt3,S)) AND Mov(C,opt4,S) - Mov(C,opt5, S) > Mov(Mov(C,opt4,S) - Mov(C,opt5, S), opt6, S)
Enter Short
Cross(Mov(Mov(C,opt1,S) - Mov(C,opt2, S),opt3,S), Mov(C,opt1,S) - Mov(C,opt2, S)) AND Mov(C,opt4,S) - Mov(C,opt5, S) < Mov(Mov(C,opt4,S) - Mov(C,opt5, S), opt6, S)