strategy.NewMyTrades не вызвался
Atom
07.06.2011
Greene-nsk


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 не пришло.

Подскажите, пожалуйста, это известная проблема или нет? Как чинить?


Теги:


Спасибо:


Mikhail Sukhov

Фотография
Дата: 07.06.2011
Ответить


Greene-nsk: Событие Trader.NewMyTrades было вызвано, а вот strategy.NewMyTrades не пришло.

А Strategy.NewOrder пришло?

Спасибо:

Greene-nsk

Фотография
Дата: 07.06.2011
Ответить


Тоже нет. Trader.NewOrders только.

Еще. Сразу после ReRegisterOrder делал вывод нового ордера:


ReRegisterOrder(_order, newOrder);
Base.Log.Out(newOrder.ToStringLong());
...
        static public string ToStringLong(this Order o)
        {
            string sign = (o.Direction == OrderDirections.Buy) ? "+" : "-";
            return o.Security.Name + " " + sign + o.Volume + "*" + o.Price + " " + o.Type + " " +
                o.Portfolio.Name + " " + o.State + " " + o.Status + " остаток: " + o.Balance + " ID: " + o.Id + " transactionID: " + o.TransactionId + " время снятия: " + o.CancelTime;
        }

Получилось: 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 время снятия:

Спасибо:

Greene-nsk

Фотография
Дата: 07.06.2011
Ответить


Еще странно то, что до этого этот кусок кода нормально работал. Сегодня с утра это еще работало. Не сработало только в этот раз.

Спасибо:

Mikhail Sukhov

Фотография
Дата: 07.06.2011
Ответить


Greene-nsk: Еще странно то, что до этого этот кусок кода нормально работал. Сегодня с утра это еще работало. Не сработало только в этот раз.

ITrader.OrdersFailed + ITrader.ProcessDataError что-нибудь написал?

Спасибо:

Greene-nsk

Фотография
Дата: 08.06.2011
Ответить


нет. ни того, ни другого

Спасибо:


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy