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


«Безубыточная» стратегия на форекс

Именно по этому запросу меня постоянно преследует одна на первый взгляд весьма привлекательная торговая стратегия на основе принципа мартингейла. В основе данной стратегии лежит тот факт, что цена не может долго находиться в узком коридоре, а при возникновении такой ситуации рано или поздно она выйдет из него. Нам остается лишь следовать за ценой, а если с направлением не угадали, то переворачиваемся, но с удвоенным объемом и так до тех пора, пока не выйдем в плюс. Более наглядно это видно на рисунке ниже.

Рис. 1. «Безубыточная» стратегия на форекс

Наверняка вы встречали на просторах интернета данную картинку. Скрывать не буду, я даже торговал непродолжительное время по данной стратегии, но рынок очень быстро дал понять, кто здесь хозяин. Однако вернемся к нашей стратегии, в которой для начала стоит определиться с размером коридора. Допустим, он будет составлять 10 пунктов. Соответственно, наш тейк профит и стоп лосс так же будут равняться 10 пунктам. В случае когда наша сделка достигла стоп лосса, мы будем открывать сделку обратную первоначальной с удвоенным объемом.

Рис. 2. Пример развития событий

На рис. 2 представлен возможный план развития событий и наши действия. А именно, в точке 1 открываем сделку на продажу с объемом 0.1, тейк профитом и стоп лоссом в 10 пунктов. В точке 2 наша сделка закроется по стоп лоссу, на что мы откроем сделку на покупку с удвоенным (0.2) объемом. В точке 3 наша сделка закроется по тейк профиту, который перекроет убыток от предыдущей сделки и принесет нам прибыль.


Торговый робот для тестирования «безубыточной » стратегии на форекс

Прежде чем доверять свои деньги той или иной стратегии, ее необходимо протестировать хотя бы на исторических данных. Делать это вручную не всегда удобно и целесообразно, поэтому воспользуемся визуальным конструктором Visual JForex. Общий вид торгового робота представлен на рис. 3.

Рис.3 Общий вид торгового робота

Логика торгового робота заключается в том, что мы открываем первую сделку в любую сторону (в нашем случае это продажа) со стоп лоссом и тейк профитом одинаковой величины и следим за результатом. Если сделка закрылась по стоп лоссу, то в этой точке мы переворачиваемся в другую сторону (в нашем случае это будет уже покупка) с удвоенным объемом и так далее пока очередная сделка не закроется по тейк профиту. Как только это произойдет, мы возвращаемся в начало и снова открываем сделку на продажу с первоначальным объемом. Наш робот будет состоять из следующих функциональных блоков:
  • Блок начальных действий
  • Блок проверки условий
  • Блок мартингейла
Блок начальных действий
В данном блоке мы проводим ряд стандартных операций и открываем первую сделку, за которой будем следить в последующем. Общий вид данного блока представлен на рис. 4.

Рис. 4 Блок начальных действий

С помощью блоков 1 и 2 происходит фильтрация всех свечей по заданному инструменту и периоду. Период особой роли не играет, поскольку влияет лишь на промежуток между сериями сделок. В нашем случае период будет составлять 10 минут, а в качестве инструмента возьмем валютную пару EUR/USD. Далее вводится переменная «Start» со значением по умолчанию «true», необходимая для предотвращения многократного открытия сделок. Блоком 3 происходит проверка переменной «Start» на значение «true». Следующим шагом нам необходимо определиться с размером первоначального лота, для чего вводится глобальная переменная «StartLot». Так же вводится промежуточная переменная «Lot», которая и будет в последующем удваиваться. Блоком 4 мы присваиваем переменной «Lot» значение переменной «StartLot». Следующим шагом (блок ü5) мы открываем первую сделку на продажу первоначальным объемом и с тейк профитом и стоп лоссом в 10 пунктов. После открытия позиции переменной «Start» присваиваем (блок ü6) значение «false».
Блок проверки условий
После открытия первой сделки, мы будем следить за ней и в случае закрытия по стоп лоссу задействовать принцип мартингейла. Напомню, что стоп лосс и тейк профит во всех сделках неизменны и равны друг другу. Общий вид функционального блока представлен на рис. 5.

Рис. 5 Блок проверки условий

Следить за состоянием сделок мы будем через торговые сообщения (стартовая точка TradeEvent). В данном случае нас интересуют такие события как открытие и закрытие сделки. На входе функционального блока установлен разветвитель (блок 1), для возможности поиска таких событий. Для определения закрылась сделка по тейк профиту или по стоп лоссу, будем использовать переменную «Balance». Т.е будем сравнивать баланс счета до открытия сделки и после ее закрытия. Соответственно, если баланс уменьшился, то сделка закрылась по стоп лоссу, а если увеличился, то по тейк профиту. Блоком 2 ожидаем сообщения об открытии сделки и блоком 3 присваиваем переменной «Balance» текущее значение баланса счета (переменная Equity).
Блоком 4 ожидаем сообщения об закрытии сделки, а блоком 5 сравниваем баланс до открытия и после закрытия сделки. Если баланс уменьшился, то задействуем функциональный блок мартингейла. В случае когда сделка закрылась по тейк профиту нам необходимо подготовиться к задействованию «Блока начальных действий». Для этого приводим объем к первоначальному состоянию (блок 6), поскольку если был задействован блок мартингейла, то объем открытия позиций был изменен. Далее необходимо разрешить задействование блока начальных действий (напомню, что мы его выключили после открытия первой сделки), для чего переменной «Start» присваиваем значение «true» (блок 7). Так же переменной «BUYSELL» присваиваем значение «true». Эта переменная является своего рода переключателем, который чередует сделки на продажу и покупку.
Блок мартингейла
Это основной блок данного торгового робота, который и должен обеспечить «безубыточность» торговой стратегии. Общий вид данного робота представлен на рис. 6.

Рис. 6 Блок мартингейла

В случае когда проверка баланса до открытия и после закрытия сделки показала, что сделка закрылась по стоп лоссу мы попадаем в блок мартингейла. На входе стоит переключатель «BUYSELL» (блок 1), который будет переворачивать сделки на противоположные. При значение «true» будут открываться сделки на покупку, а при значении «false» на продажу. По умолчанию переменная «BUYSELL» имеет значение «true», т.е при первом входе в блок мартингейла будет открываться сделка на покупку (напомню, что первую свою сделку торговую робот открывает на продажу).

После того как мы определились с типом сделки (блок ü1), нам необходимо удвоить баланс, для чего просто умножаем значение переменной «Lot» на 2 (блок 2) и открываем сделку полученным объемом (блок 3). Затем необходимо переключить наш переключатель «BUYSELL», для чего присваиваем ему значение «true», если блоком ü3 была открыта сделка на продажу, или значение «false» (блок 7), если была открыта сделка на покупку (блок 6).


Тест торгового робота

Данный торговый робот был протестирован на исторических данных за последние 3 месяца. В качестве инструмента была выбрана валютная пара EUR/USD, а тейк профит и стоп лосс равнялись 10 пунктам. Поскольку данная стратегия предусматривает перенос сделок через выходные, то при тестировании использовалось плечо выходного дня равное 30. Первоначальный объем составлял 0.01 млн., а первоначальный баланс 110000 (это минимальный баланс для выбранного первоначального объема при котором на данном промежутке времени тест прошел успешно). В итоге прибыль составила 447USD, а максимальный объем открытой сделки доходил до 2,56 млн (рис.7).

Рис. 7 Максимальный объем

Вывод: Первым делом стоит обратить внимание на то, что полученная прибыль (447USD) к задействованному балансу (110000USD) составляет всего лишь 0,4% за три месяца. Несмотря на свою первоначальную привлекательность, считаю что мартингейл не совместим с форексом.
Перевести на Английский Показать оригинал