Specifiche
В нашем терминале МТ4 Копировщиком открывается рыночный ордер по валютной паре VAL. Спустя заданное время (60-150) сек с момента открытия ордеров наш Советник выполняет следующие функции:
- цепляет заданные SL, TP к ордерам
- цепляет стандартный Trailing Stop
- при закрытии ордеров по TP или тралу: генерирует (последовательно с движением цены) сетку конечного числа отложенных ордеров (кол-во лотов в ордерах плавно растет по простой прогрессии).
- к полученной сетке по моим формулам рассчитываются свои TP и SL
- по достижении TP цепляется трал
Детали:
В нашем терминале МТ4 Копировщиком открывается рыночный ордер по валютной паре VAL, пусть для определенности SELL (для BUY тоже нужна зеркальная реализация)
наш эксперт стартует молниеносно по появлению любого такого ордера:
запомнить LEVEL1
IF TP>0 THEN открыть 3 ордера в том же направлении (в выбранном примере SELL) лотами: 3*FixedLots, 2*FixedLots, 1*FixedLots
IF TS=0 THEN ко всем 4-м ордерам прикрутить SL(LEVEL1+S1)
Спустя T секунд прикрутить к исходному ордеру
трал (S1); к трем ордерам прикрутить TP1:=LEVEL1-1*Steps, TP2:= LEVEL1-2*Steps, TP3:= LEVEL1-3*Steps “примечание: а) все 3 ордера принесут
одинаковый профит=3*FixedLots*Steps б) но возможна ситуация когда
цена за Т секунд уже прошла все уровни ТР и нужно предусмотреть закрытие по
текущей цене”;
IF TS>0 THEN ко всем 4-м ордерам прикрутить
SL(LEVEL1+S1)
TP:= LEVEL1+TP и сдвигаем уровень TP при движении на каждый шаг вниз:
IF MarketPrice<= LEVEL1-Steps THEN TP:=TP-Steps;
IF MarketPrice<= LEVEL1-2*Steps THEN TP:=TP-Steps; перенести SL 3-его ордера SL:=SL-2.11*Steps
При срабатывании SL (он до последнего был одинаковый для всех 4-х ордеров) или трала единственного ордера в случае TP=0 все ордера соответственно закрываются и открывается 1 ордер BUY лотом 3*FixedLots (TP)
В момент закрытия третьего ордера по ТР3=LEVEL1-3*Steps если BS=true выставляем BUY-STOP 1*FixedLots (LEVEL1-2*Steps) и тралим его вниз при движении цены вниз. Меняем TP:= TP-Steps если BS=false – конец алгоритма, переход в режим ожидания нового сигнала-ордера.
При достижении ценой вниз уровня LEVEL1-(i+3.5)*Steps открываем ДВА FixedLots BUY-STOP (LEVEL1-3*Steps), предыдущий BUY-STOP переносим сюда же, тралим вместе. BUY-STOP ордера предпочтительно выставлять виртуально, чтобы они не были видны для ДЦ.
При достижении ценой каждого следующего уровня вниз LEVEL1-(i+0.5)*Steps, i:=4 to Lmax
открываем KM*FixedLots BUY-STOP (MarketPrice -KS*Steps); KM:=KM*KM; TP:=TP-KT*Steps
При достижении ценой уровня LEVEL1-Lmax*Steps-0.00062 закрыть все ордера. Ждать нового сигнала.
При достижении TP цепляется трал(S2)
Прим.: любые другие ордера открывающиеся в нашем терминале кроме VAL – игнорируются. любые другие ордера открывающиеся в нашем терминале по паре VAL в направлении первого исходного ордера – игнорируются. Первый открывщийся в нашем терминале по паре VAL в направлении ОБРАТНОМ первому исходному ордера – прикрутить трал(S2) ко всем ордерам, при срабатывание трала – закрыть ВСЕ ордера, включая пришедший.
Если все ордера с нашим Магиком закрылись вручную, то обнулить все параметры и ждать прихода нового ордера.
Список параметров и их значения по умолчанию:
VAL = EURUSD.c
TS=0 – выставлять стоп-лосс мгновенно
TP = 0.00389 - открывать 3 ордера
T=120 кол-во секунд для выставления TP
Lmax = 7 – номер последнего шага в сетке, после достижения которого вскоре наступит SL-сетки
S1=10 - размер инверсного трэйл-стопа
S2=11 – размер прямого трэйл-стопа
KM = 1.2 Коэффициент Мартингейла
KS=0.5 или 0.75 – насколько далеко выставить Buy-stop в долях шага.
KT=0.5 – коэффициент сдвига TP уже в сетке
KS:=0.61 – насколько далеко в долях шага выставляем BUY-STOPs
BS=true будут открываться BUY-STOP ордера; иначе не будут и алгоритм будет заканчиваться
FixedLots = 0.05
Steps = 10