Торговые тактики для 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)