Обсуждение статьи "Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXIV): Основной торговый класс - автоматическая коррекция ошибочных параметров"

 

Опубликована статья Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXIV): Основной торговый класс - автоматическая коррекция ошибочных параметров:

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

Вообще, советник должен уметь действовать по обстоятельствам и по заранее определённой пользователем логике обработки ошибок в торговых приказах. Таким образом, можно дать советнику в настройках указание на действия при ошибках в торговых приказах:

  1. При обнаружении ошибки в торговом приказе, просто выйти из торгового метода, предоставив пользователю самому создать обработчик неверных параметров ошибочного приказа.
  2. Определив возможность исправления некорректного значения в торговом приказе, сразу же исправить значения и отослать корректный торговый приказ,
  3. Либо, если того требует ситуация и суть полученной ошибки — повторить заново торговый запрос после паузы, либо просто повторить запрос с теми же параметрами.

При обработке ошибки в параметрах торгового приказа вероятны несколько исходов:

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

Сегодня создадим обработчик ошибок в торговых приказах, который будет соответствовать перечисленному функционалу, а именно — будет проверяться ошибка и её причина, и возвращаться метод обработки ошибки:

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

Автор: Artyom Trishkin

 
Не могли бы привести пример кода, чтоб, получив последнее торговое событие, вытащить тикет ордера/позиции и прочие свойства?
 
leonerd:
Не могли бы привести пример кода, чтоб, получив последнее торговое событие, вытащить тикет ордера/позиции и прочие свойства?
Не раньше, чем через неделю - не на месте.