CloseAtTrailingStop в OsEngine.

CloseAtTrailingStop в OsEngine.

Метод CloseAtTrailingStop предоставляет возможность использовать так называемый трейлинг-стоп – это стоп, который подтягивается за ценой, если она движется в нужную для позиции сторону. Например, для лонга, если цена растет, стоп подтягивается все выше и выше и так происходит до тех пор, пока цена не откатится на заданное стопом значение. 

public void CloseAtTrailingStop(Position position, decimal priceActivation, decimal priceOrder, string signalType)
  1. position – позиция, для которой нужно двигать стоп;
  2. priceActivation – цена, при достижении которой на биржу будет выслан реальный ордер;
  3. priceOrder – цена для исполняющего ордера;
  4. signalType – тип сигнала на закрытие позиции;

Взглянем на код:

  1. После того, как получено событие успешного открытия позиции, вызывается метод TrailStop.
  2. В этом методе рассчитываем цену активации ордера и цену для самой заявки.
  3. Вызываем метод CloseAtTrailingStop, передавая необходимые параметры.
  4. Пока торговое время дня не закончится, вызывается метод TrailStop.
  5. Иначе позиция закрывается по времени.

Важно! 1

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

public void CloseAtTrailingStop(Position position, decimal priceActivation, decimal priceOrder)

Вторая перегрузка метода не принимает тип сигнала на закрытие.

Важно! 2

При исполнении данного типа приказа, приказ CloseAtProfit отменяется, если таковой был выставлен для позиции.

17:21
303
FAQ

Комментарии

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