Добрый день, пытаюсь использовать дочернюю стратегию для выставления стоп-лоса.
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 пунктов ниже (для фьюча РТС)?
Kommentare (4)
Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen
Попробуйте пример из семплов:
Кстати проверьте метод 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.
Подскужите плз в чем проблема У меня тэйк и стоп срабатывают сразу же после исполнения ордера. Стоп исполняется, а тейк отменяется