Метод CloseAtStop устанавливает стоп-лосс для позиции. Логика проверки на срабатывание стопа выполняется в терминале. Можно сказать это условная заявка, которая превращается в реальный ордер только при выполнении заданных условий.
public void CloseAtStop(Position position, decimal priceActivation, decimal priceOrder, string signalType)
Допустим нам нужна такая логика выхода: после открытия позиции, она будет закрыта либо по стоп-лоссу, либо по времени.
Важно! 1
Установить стоп-лосс можно только после открытия позиции, то есть, когда ее открытый объем будет больше нуля. Для этих целей как нельзя лучше подходит событие PositionOpeningSuccesEvent. Оно сигнализирует роботу о том, что по открывающему ордеру прошла как минимум одна сделка. В обработчике этого события мы и установим стоп-лосс.
public void CloseAtStop(Position position, decimal priceActivation, decimal priceOrder)
Перегрузка метода, в которой не используется параметр signalType.
Важно! 2
При исполнении данного типа приказа, приказ CloseAtProfit отменяется, если таковой был выставлен для позиции.
Комментарии