- Создаю лимитированную заявку:
Order t_order = new Order
{
Type = OrderTypes.Limit,
Portfolio = portfolio,
Price = _price,
Security = instrument,
Volume = _vol,
Direction = _direction,
};
Core.Trader.RegisterOrder(t_order);
Все ОК, создается
- Создаю стоп по исполнению для лимитированной заявки:
t_stopOrder = new Order
{
Type = OrderTypes.Conditional,
Portfolio = portfolio,
Volume = _vol,
Security = instrument,
Price = instrument.ShrinkPrice(_priceSL + slippage),
Direction = _direction, // Судя по хелпу - игнорируется
StopCondition = new QuikStopCondition
{
ConditionOrder = t_order,
ConditionOrderPartiallyMatched = true,
ConditionOrderUseMatchedBalance = true,
Type = QuikStopConditionTypes.TakeProfitStopLimit,
ExpiryDate = DateTime.MaxValue,
ActiveTime = null,
StopLimitPrice = instrument.ShrinkPrice(_priceSL),
StopPrice = instrument.ShrinkPrice(_priceTP),
Offset = 0,
Spread = 5,
},
};
Тут выдает ошибку:
CREATE STOP ERROR: Код ошибки WrongSyntax Сообщение ACCOUNT=SPBFUT006А4; CLIENT_CODE=SPBFUT006А4; TRANS_ID=61069504; CLASSCODE=SPBFUT; SECCODE=SRU1; QUANTITY=1; OPERATION=B; ACTION=NEW_STOP_ORDER; STOPPRICE=9055; PRICE=9026; EXPIRY_DATE=GTC; IS_ACTIVE_IN_TIME=NO; STOPPRICE2=9070; BASE_ORDER_KEY=4640126731; USE_BASE_ORDER_BALANCE=YES; ACTIVATE_IF_BASE_ORDER_PARTLY_FILLED=YES; OFFSET=0; OFFSET_UNITS=PRICE_UNITS; SPREAD=5; SPREAD_UNITS=PRICE_UNITS; STOP_ORDER_KIND=ACTIVATED_BY_ORDER_TAKE_PROFIT_AND_STOP_LIMIT_ORDER;
Комментарии (5)
Вход или Создать аккаунт, Войдите или зарегистрируйтесь, чтобы оставить комментарий
CREATE STOP ERROR: Код ошибки WrongSyntax Сообщение ACCOUNT=SPBFUT006А4; CLIENT_CODE=SPBFUT006А4; TRANS_ID=61069504; CLASSCODE=SPBFUT; SECCODE=SRU1; QUANTITY=1; OPERATION=B; ACTION=NEW_STOP_ORDER; STOPPRICE=9055; PRICE=9026; EXPIRY_DATE=GTC; IS_ACTIVE_IN_TIME=NO; STOPPRICE2=9070; BASE_ORDER_KEY=4640126731; USE_BASE_ORDER_BALANCE=YES; ACTIVATE_IF_BASE_ORDER_PARTLY_FILLED=YES; OFFSET=0; OFFSET_UNITS=PRICE_UNITS; SPREAD=5; SPREAD_UNITS=PRICE_UNITS; STOP_ORDER_KIND=ACTIVATED_BY_ORDER_TAKE_PROFIT_AND_STOP_LIMIT_ORDER;
Через квик создает
Еще замечу, что такая же но обычная стоп-заявка через S# создается нормально. Стоп по исполнению от обычного стопа отличается у меня только тремя строчками:
Я думаю проблема в Order.Volume. Для этого типа стоп заявки объема не должен выставляться.
Пустой объём вызывает ошибку, когда срабатывает условие.
Другие параметры: См. соседнюю ветку