Май 25

СОЗДАНИЕ ПОМЕХОУСТОЙЧИВЫХ ТОРГОВЫХ РОБОТОВ ДЛЯ ВЗАИМОДЕЙСТВИЯ С БРОКЕРСКИМИ ПЛАТФОРМАМИ MT4 И МТ5

KON-54 18 мая 2015г. Международная научно-практическая конференция «ПЕРСПЕКТИВЫ РАЗВИТИЯ НАУКИ» Скачать

УДК 621
Игорь Викторович Ананченко
канд. техн. наук, доцент НИУ ИТМО,
г.Санкт-Петербург, РФ
E-mail: igor@anantchenko.ru
Андрей Валерьевич Щербович-Вечер
студент факультета ИКТ НИУ ИТМО,
г. Санкт-Петербург, РФ
E-mail: andrewscherbovich@gmail.com

СОЗДАНИЕ ПОМЕХОУСТОЙЧИВЫХ ТОРГОВЫХ РОБОТОВ ДЛЯ ВЗАИМОДЕЙСТВИЯ С БРОКЕРСКИМИ ПЛАТФОРМАМИ MT4 И МТ5

Многие трейдеры используют в работе терминалы популярных торговых платформ MetaTrader 4 (информационно-торговая платформа для Forex, CFD, Futures) и MetaTrader 5 (Forex, фондовые рынки (биржи), фьючерсы, контракты на разницу). Может использоваться программное обеспечение (ПО) разработанное для стационарных (MetaTrader 4/5 Client Terminal) и мобильных устройств (MetaTrader 4 Mobile Terminals, терминалы MetaTrader 5 для Android и для iOS). Торговые роботы, как правило, используют достаточно сложные алгоритмы обрабатывающие большие объемы данных [1,2], по результатам обработки принимаются управляющие решения.

Основные причины отказов в работе торговых роботов приведены в [3,4]. Возможные пути предотвращения возникновения проблем: использование резервных каналов связи, дублирование физического оборудования, обеспечение отказоустойчивых решений организацией кластера или размещение ПО на виртуальных машинах в облачной инфраструктуре. Возможны ситуации, когда команды торгового терминала (открытие, закрытие, модификация ордеров) не обрабатываются или обрабатываются неприемлемо долго по причине перегруженности сервера платформы (нагрузка резко возрастает во время выхода важных новостей и т.п.). Можно предложить достаточно универсальное решение, препятствующие возникновению катастрофических убытков, если трейдер теряет доступ к счету на некоторое время, причем время может измеряться не секундами или минутами, а днями. Достоинство решения — стабилизация ситуации с незафиксированными убытками по открытым ордерам. Окончательное решение по работе с залокированными ордерами принимается трейдером.

Возможное техническое решение для роботов платформы МТ4: торговый робот не использует отложенные торговые ордера (выставляются ордера только типов OP_BUY и/или OP_SELL). В коде робота присутствует функция, выставляющая отложенные ордера (OP_SELLSTOP или OP_BUYSTOP) на заданном расстоянии (в пунктах) от размещенного рыночного ордера на покупку или продажу. При срабатывании отложенного ордера получается замок. Например, был открыт ордер на продажу объемом 0.2 лота, отложенный ордер на покупку выставляется объемом 0.2 лота. Срабатывание отложенного ордера стабилизирует ситуацию, так как растущий убыток по первому ордеру компенсируется прибылью по второму. Отметим, что если ситуация не будет разрешена в течение суток, то незафиксированный убыток хотя и медленно, но будет расти по причине того, что брокером взимается комиссия за перенос открытых позиций на следующие сутки или фиксированная комиссия для безсвоповых типов счетов. Функция, выставляющая отложенные страхующе-локирующие ордера, может быть реализована в виде отдельной программы.

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

После восстановления контроля над счетом, трейдер, отключает программы для автоматизированной торговли на счете и в режиме ручного управления выполняет операции закрытия или модификации залокированных ордеров. Для предотвращения получения большого числа залокированных ордеров, в основной части алгоритма торгового робота целесообразно предусмотреть запрет на открытие новых ордеров, если по торгуемому финансовому инструменту зафиксировано наличие пары открытых залокированых ордеров (отложенный локирующий ордер сработал). Дополнительная информация по рассматриваемой теме доступна на сайте по ссылке (в том числе исходники ПО): http://www.mctrewards.ru/proekty/locker.

Список использованной литературы:
1. Особенности эволюционной оптимизации для хаотических процессов. Мусаев А.А., Ананченко И.В. В сборнике: Актуальные вопросы экономики и современного менеджмента. Сборник научных трудов по итогам международной научно-практической конференции. Инновационный центр развития образования и науки. Самара, 2015. с. 102-105.
2. Торговые роботы и управление в хаотических средах: обзор и критический анализ. Ананченко И.В., Мусаев А.А. Труды СПИИРАН. 2014. № 3 (34). c. 178-203.
3. Взаимодействие торгового робота с брокерской платформой: проблема помехоустойчивого управления. Мусаев А.А. Труды СПИИРАН. 2009. № 10. с. 176-183.
4. Вариант построения помехоустойчивого торгового робота. Мусаев А.А. Труды СПИИРАН. 2010. № 1 (12). С. 215-225

© И.В. Ананченко, А.В. Щербович-Вечер, 2015

* * *

* * *

Поделитесь статьей со своими друзьями
Общайтесь со мной:
comments: Closed

Comments are closed.