SellAtLimitToPosition в OsEngine.

SellAtLimitToPosition в OsEngine.
public void SellAtLimitToPosition(Position position, decimal priceLimit, decimal volume)

Метод позволяет модифицировать имеющуюся короткую позицию путем добавления лимитной заявки в список открывающих ордеров. Принимает следующие параметры:

  1. position – позиция, которую необходимо модифицировать;
  2. priceLimit – цена для нового лимитного ордера;
  3. volume – объем для нового лимитного ордера;

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

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

  1. Рассчитываем цену для ордера, отступив от цены закрытия последней свечи на 10 шагов цены вверх.
  2. Даем вкладке команду на открытие короткой позиции при помощи лимитной заявки.
  3. После создания позиции на следующем событии завершения свечи определяем состояние позиции.
  4. Если она все еще не открыта, рассчитываем новую цену для ордера, отступив от цены закрытия последней свечи на 10 шагов цены.
  5. Вызываем метод SellAtLimitToPosition, передавая нашу позицию, новую цену и объем.

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

Чтобы открыть это окно, нужно дважды кликнуть на позицию в журнале.

15:36
55
FAQ

Комментарии

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