S# 3.1.10.0
Была выставлена лимитная заявка (SiM1@RTS) и частично исполнена. strategy.NewMyTrades для этого частичного исполнения вызвался, как и должно быть. Затем заявка была передвинута с помощью этого кода внутри стратегии:
decimal newPrice = GetNewPrice();
Base.Log.Out("Двигаем на " + newPrice + ". Попытка номер " + _currentAttempt);
// ставим новую заявку перед лучшей ценой на рынке
var newOrder = _order.Clone();
newOrder.Price = newPrice;
newOrder.Volume = _order.Balance;
newOrder.Balance = 0;
ReRegisterOrder(_order, newOrder);
_order = newOrder;
И там на новой цене заявка была полностью выполнена. Событие Trader.NewMyTrades было вызвано, а вот strategy.NewMyTrades не пришло.
Подскажите, пожалуйста, это известная проблема или нет? Как чинить?
Comments (5)
Login or Create account, Log in or register to leave a comment
А Strategy.NewOrder пришло?
Тоже нет. Trader.NewOrders только.
Еще. Сразу после ReRegisterOrder делал вывод нового ордера:
Получилось: 07.06.2011 11:45:46 [OpenWealth.StockSharp.StrategyBestPriceQuoting.OnProcess] Двигаем на 27769. Попытка номер 2 07.06.2011 11:45:46 [OpenWealth.StockSharp.StrategyBestPriceQuoting.OnProcess] Si-6.11 -149*27769 Limit SPBFUT000o8 None остаток: 149 ID: 0 transactionID: 51029352 время снятия:
Еще странно то, что до этого этот кусок кода нормально работал. Сегодня с утра это еще работало. Не сработало только в этот раз.
ITrader.OrdersFailed + ITrader.ProcessDataError что-нибудь написал?
нет. ни того, ни другого