Обсуждение статьи "Разработка самовосстанавливающегося советника в MQL5 (Часть 2): Виртуальная защита сделок, устойчивая к перезапуску"

 

Опубликована статья Разработка самовосстанавливающегося советника в MQL5 (Часть 2): Виртуальная защита сделок, устойчивая к перезапуску:

Постройте уровень виртуальной защиты, устойчивый к перезапускам, поверх механизма персистентности SQLite из Части 1. Советник восстанавливает скрытые стоп-лосс и тейк-профит после перезапуска, сверяет текущую цену с восстановленными уровнями выхода и в зависимости от результата либо закрывает позиции, либо продолжает ими управлять. В результате формируется согласованный сценарий восстановления, который обнаруживает управляемые позиции и обеспечивает безопасное управление в рабочем режиме.

В системах виртуальной защиты уровни стоп-лосса и тейк-профита существуют только внутри памяти среды выполнения советника. Советник постоянно отслеживает рыночные цены, пока позиция остается открытой и вручную закрывает позиции при достижении условий виртуальной защиты.

В нормальных условиях работы эта архитектура функционирует корректно. Однако ситуация резко меняется, как только торговый терминал неожиданно выключается. Рассмотрим следующий сценарий:

  1. Советник открывает сделку на покупку.
  2. Виртуальный стоп-лосс хранится внутри системы.
  3. Терминал выключается.
  4. Цена пересекает скрытый стоп-лосс.
  5. Советник перезапускается. Сделка неожиданно остается открытой.

Эта проблема возникает из-за того, что память времени выполнения является временной. После выключения терминала советник теряет доступ к своему внутреннему состоянию защиты и полностью прекращает мониторинг активной позиции.

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


Автор: Chacha Ian Maroa