Как часто бывает, что выставленный ордер стремиться к заранее выставленному ТейкПрофиту, но не добегая до него несколько пунктов разворачивается, ордер выбивает по СтопЛоссу. Ох как обидно, опять минус, депозит стремиться к нулю, а такие были надежды на заработок.
Ладно если мы сидим за компьютером и смотрим на движение котировок, можно и успеть среагировать на откат и закрыть ордер, пусть и не с желаемой прибылью, но все же в плюс. А если торгует робот? Такими темпами он точно опустит депозит до 0.

Давным давно придумана технология слежения за ордером, вывода его в безубыток. Данная технология называется – ТрейлингСтоп (трал). Суть заключается в следующем:
Система следит за ордером и при достижении определенного значения прибыли ордер переводится в безубыток, то есть стоплосс ставиться в значение равное открытию ордера, а дальше при увеличении прибыли – стоплосс подтягивается за ценой на расстояние равное этому значению. И даже если цена развернется и пойдет в обратном направлении, ордер закроется по стоплоссу но в прибыли, или как минимум без убытка.

Довольно таки удобная вещь, но есть одно но – трейлингстоп хорошо ведет себя при явном тренде, когда цена явно стремиться в одну сторону и колебания цены не очень высоки, иначе это грозит обернуться постоянным закрытием ордеров с маленьким профитом или вообще без прибыли. Так что же делать, ведь хочется не только не потерять средства, но и хорошо заработать?

Пришлось дорабатывать систему до желаемого результата, смотрим, что получилось.
Идея: При достижении определенного значения профита стоплосс подтягивается и происходит закрытие половины ордера (фиксирование прибыли). При дальнейшем росте профита стоплосс движется за ценой и постоянно закрывается половина ордера до тех пор пока полностью не закроется. Такая технология хорошо себя зарекомендовала себя при явном флете (сильных колебаниях цены в определенном промежутке).

Стандартный трал здесь описывать не буду (он есть в стандартном советнике MACD Sample.mq4, поставляемом вместе с терминалом). Остановлюсь только на дополнениях:
1. Вводим дополнительную логическую переменную, которая определяет принцип работы трала (стандартный, модернизированный)
Глобальная переменная:
extern bool PolLots = true; // тип трейлинга: true – модернизированный, false – стандартный.
2. Вводим в блок глобальных переменных переменную для величины срабатывания трала:
extern double TrailingStop = 150; // значение срабатывания трала в пунктах
3. Сама процедура:
void TrailingStairs(int ticket,int trldistance)
{
if (OrderType()==OP_BUY)
{
if((Bid-OrderOpenPrice())>(Point*trldistance))
{
if(OrderStopLoss()<Bid-Point*trldistance || (OrderStopLoss()==0))
{
OrderModify(ticket,OrderOpenPrice(),Bid-Point*trldistance,OrderTakeProfit(),0,Green);
if (PolLots)
if (NormalizeDouble(OrderLots()/2,1)>MarketInfo(Symbol(), MODE_MINLOT))
{
OrderClose(ticket,NormalizeDouble(OrderLots()/2,1),Bid,3,Green);
}
else
{
OrderClose(ticket,OrderLots(),Bid,3,Green);
}
}
}
}
else
{
if((OrderOpenPrice()-Ask)>(Point*trldistance))
{
if((OrderStopLoss()>(Ask+Point*trldistance)) || (OrderStopLoss()==0))
{
OrderModify(ticket,OrderOpenPrice(),Ask+Point*trldistance,OrderTakeProfit(),0,Red);
if (PolLots)
if (NormalizeDouble(OrderLots()/2,1)>MarketInfo(Symbol(), MODE_MINLOT))
{
OrderClose(ticket,NormalizeDouble(OrderLots()/2,1),Ask,3,Green);
}
else
{
OrderClose(ticket,OrderLots(),Ask,3,Green);
}
}
}
}
}

Если сравнить со стандартным тралом, то можно увидеть что добавляется только такой код:
1. if (PolLots)
2. if (NormalizeDouble(OrderLots()/2,1)>MarketInfo(Symbol(), MODE_MINLOT))
3. {
4. OrderClose(ticket,NormalizeDouble(OrderLots()/2,1),Ask,3,Green);
5. }
6. else
7. {
8. OrderClose(ticket,OrderLots(),Ask,3,Green);
9. }
Вот на нем и становимся.
Первая строка – определяем какой используется трал стандартный или модернизированный, если стандартный, то дальне код не выполняется.
Вторая строка – проверяем половина открытого ордера больше значения минимального лота или нет.
Если больше, то выполняется 4 строка, если нет, то 8-ая.
Обратите внимание, используется оператор округления (NormalizeDouble) для того, что бы при делении не получилось недопустимое для размера ордера число.
Ну а строки 4 и 8 выполняют в принципе одно и тоже – закрывают ордер, только в строке 8 – закрывается весь, так уменьшить его уже невозможно, а в 4-ой строке закрывается только половина ордера.
Ну а теперь самое простое – вставляем в нужное место советника вызов процедуры и смотрим, как он будет работать:
TrailingStairs(OrderTicket(),TrailingStop);
Процедуре передается два значения: Номер нужного ордера и размер трала в пунктах.

Ну а теперь примеры работы:
Работа одно и того же советника за последние 10 дней.
Инструмент: EURJPY_FX (EURO vs JAPANESE YEN)
Интервал: 5 Минут (M5) 2009.10.14 00:00 – 2009.10.22 23:55
Параметры советника идентичны, за исключением принципа работы трала.

Включаем модернизированный трал:

Начальный депозит 10000.00
Чистая прибыль 13397.47 Общая прибыль 20106.10 Общий убыток -6708.63
Прибыльность 3.00 Матожидание выигрыша 705.13
Абсолютная просадка 3078.23 Максимальная просадка 10682.00 (52.09%) Относительная просадка 52.58% (7675.77)
Всего сделок 19 Короткие позиции (% выигравших) 1 (0.00%) Длинные позиции (% выигравших) 18 (94.44%)
Прибыльные сделки (% от всех) 17 (89.47%) Убыточные сделки (% от всех) 2 (10.53%)
Самая большая прибыльная сделка 4930.46 убыточная сделка -4079.07
Средняя прибыльная сделка 1182.71 убыточная сделка -3354.32
Максимальное количество непрерывных выигрышей (прибыль) 10 (8511.45) непрерывных проигрышей (убыток) 1 (-4079.07)
Максимальная непрерывная прибыль (число выигрышей) 11594.65 (7) непрерывный убыток (число проигрышей) -4079.07 (1)
Средний непрерывный выигрыш 9 непрерывный проигрыш 1

true

Работает стандартный трал:

Начальный депозит 10000.00
Чистая прибыль 5865.61 Общая прибыль 15120.75 Общий убыток -9255.14
Прибыльность 1.63 Матожидание выигрыша 1173.12
Абсолютная просадка 3449.19 Максимальная просадка 11376.01 (63.46%) Относительная просадка 63.46% (11376.01)
Всего сделок 5 Короткие позиции (% выигравших) 2 (0.00%) Длинные позиции (% выигравших) 3 (66.67%)
Прибыльные сделки (% от всех) 2 (40.00%) Убыточные сделки (% от всех) 3 (60.00%)
Самая большая прибыльная сделка 7971.16 убыточная сделка -3819.30
Средняя прибыльная сделка 7560.37 убыточная сделка -3085.05
Максимальное количество непрерывных выигрышей (прибыль) 1 (7971.16) непрерывных проигрышей (убыток) 2 (-6625.30)
Максимальная непрерывная прибыль (число выигрышей) 7971.16 (1) непрерывный убыток (число проигрышей) -6625.30 (2)
Средний непрерывный выигрыш 1 непрерывный проигрыш 2

false

Как видим, в данный момент использование модернизированного трала дает положительный эффект: прибыль увеличилась, просадка уменьшилась, увеличилось точность входа в ордер (процент прибыльных ордеров увеличился более чем в два раза).

Вроде получился великолепный трал, надо его использовать и забыть про стандартный трал, предложенный разработчиком терминала MetaQuotes Software, но повторюсь модернизированный трал хорошо ведет себя во флете, при явном тренде он сильно ограничивает прибыль и его надо переключать в режим работы стандартного трала.
Пробуйте вставить предложенный трал в свой советник и погонять его на тестах, посмотрите что получиться, вдруг да понравиться его работа.

Пример советника с использование данного трала Stoh.mq4

Вы хотите купить или продать (подержанный|б у) , новый fdnj? И не хотите тратить много время, блуждая по десяткам онлайн-авто-базаров. Тогда Наш сервис специально для Вас! Наш авто-рынок предлагает (подержанный|б у|) авто практически любых марок и моделей, во всех крупных городах. Наши авто ждут своих владельцев, которые хотят продать машину быстро, и в кратчайшие сроки. Если Вы хотите купить автомобиль, но новый автомобиль вашей мечты вам не по карману, наш автосайт предлагает Вам б у автомобили по вполне демократичным ценам. Мы предлагаем подержанные авто , что не означает значит, что Вы сможете купить плохой автомобиль. Подержанные автомобили имеет более низкую стоимость. Авто базар – сайт подержанных авто. Вы желаете купить/продать (подержанный|б у|) автомобиль на вторичном рынке? Вам не нужно посещать каждый авто-рынок в интернете, не нужно ехать на авторынок. Просто посещайте наш онлайн авто-рынок. Теперь поиск б у автомобиля стала быстрее и проще – добавляйте выбранные авто в Портфель . Оцените возможность искать одновременно несколько марок или моделей автомобиля, выбирать несколько регионов, в которых может продаваться авто. Хотите купить или продать (подержанный|б у) , новый автомобиль? Хотите чтобы Ваше объявление было на нашем автобазаре ? Ускорьте продажу автомобиля, сделав его VIP с помощью СМС.
Xотите продать (подержанный|б у) , новый fdnj? И не хотите тратить впустую много времени, блуждая по десяткам онлайн-авто-базаров. Тогда наш сайт для Вас! Интернет автобазар предлагает (подержанный|б у|) автомобиль практически любых марок и моделей, во всех крупных городах. Наши б у автомобили ждут своих новых владельцев, решивших купить машину быстро, и в кратчайшие сроки. Если вы решили купить авто, но новый автомобиль вашей мечты вам дорого, автобазар предлагает Вам б у автомобили по вполне демократичным ценам. Мы предлагаем Вам б у авто , что не означает значит, что у нас вы сможете купить плохое авто. Б у авто имеет более низкую цену. Авто рынок – сайт б у fdnj. Вы хотите купить/продать (подержанный|б у|) автомобиль на вторичном рынке? Вам нет необходимости обходить каждый авторынок, не нужно ехать на авторынок. Просто посещайте наш автобазар. Теперь продажа подержанного fdnj стала быстрее и проще – добавляйте выбранные авто в Портфель . Обратите внимание на возможность искать одновременно несколько марок автомобиля, выбирать по регионах, в которых может продаваться автомолбиль. Хотите купить или продать (подержанный|б у) , новый авто? Желаете чтобы объявление было на нашем автобазаре ? Ускорьте продажу авто, сделав его VIP прислав SMS.
Опубликовано 28 января 2011 в 0:00.
Рубрика: Статьи.


22 коммент.

  1. Alex Duran

    Вы пишите, что условия советника для примеров идентичны. Непонятно тогда почему в первом примере 19 сделок, а во втором всего 5.

  2. >Вы пишите, что условия советника для примеров идентичны. Непонятно тогда почему в первом примере 19 сделок, а во втором всего 5.
    разная работа трала: модернизированный трал закрывает по полордера, соответственно количество ордеров увеличивается (механизм закрытия части таков, что закрывается ордер и на остаток открывается новый)

  3. DimonBOB

    кстати в целом идея закрытия части ордера очень зхороша, потому как бывает что направление оперделено верно идет потом откатывает и выбивает в ноль. и встает вопрос т толи закрыть все толи что…

  4. Медик Лекарь

    Спасибо вам за статью, только почему не пишите продолжение?

  5. CCleaner

    Благодарю!

  6. Ереван

    Очень полезный блог, автор всегда (почти) описывает актальные темы. Спасибо.

  7. webmoney через sms

    А ссылка на источник где?)

  8. >>А ссылка на источник где?)
    на какой источник? статья полностью авторская

  9. Musicdown Pre

    Отличная работа!

  10. Apple

    Спасибо огромное!

  11. moroz

    Подскажите пожалуйста, есть советник Мартин, который торгует без стопов, только профит, как к советнику прилепить тралстоп или второй советник который будет следить за ордерами и ставить ТС когда ордер уходит в прибыль, советник типа e-Trailing?
    Заранее благодарен.

  12. >Подскажите пожалуйста, есть советник Мартин, который торгует без стопов, только профит, как к советнику прилепить тралстоп или второй советник который будет следить за ордерами и ставить ТС когда ордер уходит в прибыль, советник типа e-Trailing?
    Заранее благодарен.

    Самое простое обратиться к автору советников. Либо учить язык. Сами названия советников ничего не дают.

  13. Лоликон

    Спасибо автору блога за предоставленную информацию.

  14. webmoney через sms

    Интересно, но все же хотелось бы побольше узнать об этом. Понравилась статья!:-)

  15. Infolider

    Познавательно. Возьму на заметку.

  16. Satrek

    А подробней в деталях можно рассказать? заранее спс.

  17. >> А подробней в деталях можно рассказать? заранее спс.
    куда уж подробнее?

  18. MWMiguel

    хорошая статья, мне очень понравилась! жду новых публикаций на вашем блоге

  19. infolider

    Хм. Если чесно, то не ожидал найти что-то интересное для себя на этом сайте. Приятно удивлен. Хорошие посты и сайт неплохой.

  20. braginforsc

    Сомнительная новость, как долго ожидать поступление обновлённого материала и вообщем стоит ожидать ?

  21. adghvnov

    Хорошая статья! читать было интересно, а также узнал много нового

  22. fishmak

    Мне все очень понравилось. Автор молодец.