PositionClosingFailEvent.

PositionClosingFailEvent.
public event Action<Position> PositionClosingFailEvent;

Событие PositionClosingFailEvent информирует о неудачной попытке закрытия позиции.

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

Рассмотрим такой пример. Есть алгоритм, который открывает позиции при помощи лимитных заявок. Часто бывает такое, что лимитки не исполняются и отменяются роботом. 

  1. Подписываемся на событие PositionClosingFailEvent.
  2. В обработчике получаем ссылку на последний закрывающий ордер.
  3. Если состояние ордера равно OrderStateType.Fail, значит он был отвергнут биржей по каким-то причинам, необходимо проинформировать пользователя.
  4. Если же его состояние равно OrderStateType.Cancel, значит заявка была отменена, закрываем позицию по рынку.
13:36
198
FAQ

Комментарии

Нет комментариев. Ваш будет первым!