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