Добрый день, пытаюсь использовать дочернюю стратегию для выставления стоп-лоса.
private void OnNewOrderTrades(IEnumerable<MyTrade> trades)
{
var protectiveStrategy = trades.Select(trade =>
{
//Определяем величину уровня стоп-лоса
var level = trade.Order.Price - 100;
// выставляет стоп-лосс
var stopLossLevelUnit = new Unit(level, UnitTypes.Limit, Security);
return new StopLossStrategy(trade, stopLossLevelUnit);
});
ChildStrategies.AddRange(protectiveStrategy);
}
Однако стоп-лосс при достижении цены не срабатывает. Пробовал все свойства UnitTypes, но результат - или срабатывание стопа после совершения трейда или несрабатывание вообще.
Подскажите, как правильно выставить стоп для сделки к примеру на 100 пунктов ниже (для фьюча РТС)?
Comments (4)
Login or Create account, Log in or register to leave a comment
Попробуйте пример из семплов:
Кстати проверьте метод OnNewOrderTrades - он вызывается или нет? Если нет, то нужно установить значение поля WaitAllTrades у стратегии стоп-лоса и котирования в true.
Не пойму в чем ошибка - стратегия работает, заявка исполняется, защитная стратегия судя по логам работает, а потом падает.
В чем может быть баг ???
2012.12.12 21:54:18.122| |TPS_SiZ2@RTS_SPBFUT00281|Защита сделки 79765218 заявки 78847884. ... 2012.12.12 21:54:18.158| |MQS_SiZ2@RTS_SPBFUT00281|Заявка 78847884 больше не активна.
Судя по логам - стратегия не может определить цену для исполнения стоп заявки, если используется котирование. Соответственно нужно установить вручную свойства у бумаги MinPrice и MaxPrice.
Подскужите плз в чем проблема У меня тэйк и стоп срабатывают сразу же после исполнения ордера. Стоп исполняется, а тейк отменяется