strategy.NewMyTrades не вызвался
Atom Ответить
07.06.2011


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

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

Теги:


Спасибо:




5 Ответов
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