PositionNetVolumeChangeEvent.

PositionNetVolumeChangeEvent.
public event Action<Position> PositionNetVolumeChangeEvent;

Данное событие срабатывает каждый раз, когда в позиции изменяется открытый объем, в качестве аргумента передает в обработчик изменившуюся позицию.

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

  1. Создаем вкладку для первого инструмента.
  2. Подписываемся на событие изменения открытого объема первой ноги.
  3. Подписываемся на событие открытия позиции в первой вкладке.
  4. Создаем вкладку для второго инструмента.
  5. В обработчике события открытия позиции для первой ноги определяем направление позиции и во второй вкладке открываем позицию в противоположном направлении с таким же объемом.
  6. В обработчике события PositionNetVolumeChangeEvent для первой вкладки рассчитываем разницу в открытом объеме между позициями вкладок.
  7. Если разница равна нулю, выходим из метода.
  8. Если позиция первой вкладки лонг, значит вторая шорт, доливаемся.
  9. Иначе докупаем объем для второй вкладки.
13:29
110
FAQ

Комментарии

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