RealTimeEmulationTrader постоянно выдает Error

RealTimeEmulationTrader постоянно выдает Error
Atom
5/14/2013
longtrades


Помогите разобраться в чем проблема.В логах постоянно выдает такую ошыбку:

2013/05/14 10:03:12.061|Error |QuikTrader|System.InvalidOperationException: Priority queue is empty
at Ecng.Collections.PriorityQueue`2.Peek()
at Ecng.Collections.PriorityQueue`2.PeekValue()
at StockSharp.Algo.Testing.MarketEmulator.#=qs79PTBWoBFuRx8Q2yrv5adgu4HB4C8yklBG_NoWJcqY=.#=q5OvkGwWOHSKoy$qfYt6cNg==()
at StockSharp.Algo.Testing.MarketEmulator.Emulate(Message msg)
at StockSharp.Algo.Testing.MarketEmulator.UpdateQuotes(MarketDepth marketDepth, MarketDepth delta)
at StockSharp.Algo.Testing.RealTimeEmulationTrader`1.#=qzDfzsZDU5Gz7JvAOX_Z4QRgGyGyywkTFxgtASVcbd0M=(IEnumerable`1 #=qut1NpOdjYCX2CJaEhX1aVg==)
at Ecng.Common.DelegateHelper.SafeInvoke[T](Action`1 handler, T arg)
at Ecng.ComponentModel.EventsContainer`1.Raise(IEnumerable`1 items)
2013/05/14 10:03:12.062|Error |QuikTrader|System.InvalidOperationException: Priority queue is empty
at Ecng.Collections.PriorityQueue`2.Peek()
at Ecng.Collections.PriorityQueue`2.PeekValue()
at StockSharp.Algo.Testing.MarketEmulator.#=qs79PTBWoBFuRx8Q2yrv5adgu4HB4C8yklBG_NoWJcqY=.#=q5OvkGwWOHSKoy$qfYt6cNg==()
at StockSharp.Algo.Testing.MarketEmulator.Emulate(Message msg)
at StockSharp.Algo.Testing.MarketEmulator.UpdateQuotes(MarketDepth marketDepth, MarketDepth delta)
at StockSharp.Algo.Testing.RealTimeEmulationTrader`1.#=qzDfzsZDU5Gz7JvAOX_Z4QRgGyGyywkTFxgtASVcbd0M=(IEnumerable`1 #=qut1NpOdjYCX2CJaEhX1aVg==)
at Ecng.Common.DelegateHelper.SafeInvoke[T](Action`1 handler, T arg)
at Ecng.ComponentModel.EventsContainer`1.Raise(IEnumerable`1 items)
2013/05/14 10:03:12.272|Error |QuikTrader|System.InvalidOperationException: Priority queue is empty
at Ecng.Collections.PriorityQueue`2.Peek()
at Ecng.Collections.PriorityQueue`2.PeekValue()
at StockSharp.Algo.Testing.MarketEmulator.#=qs79PTBWoBFuRx8Q2yrv5adgu4HB4C8yklBG_NoWJcqY=.#=q5OvkGwWOHSKoy$qfYt6cNg==()
at StockSharp.Algo.Testing.MarketEmulator.Emulate(Message msg)
at StockSharp.Algo.Testing.MarketEmulator.UpdateQuotes(MarketDepth marketDepth, MarketDepth delta)
at StockSharp.Algo.Testing.RealTimeEmulationTrader`1.#=qzDfzsZDU5Gz7JvAOX_Z4QRgGyGyywkTFxgtASVcbd0M=(IEnumerable`1 #=qut1NpOdjYCX2CJaEhX1aVg==)
at Ecng.Common.DelegateHelper.SafeInvoke[T](Action`1 handler, T arg)
at Ecng.ComponentModel.EventsContainer`1.Raise(IEnumerable`1 items)
2013/05/14 10:03:12.274|Error |QuikTrader|System.InvalidOperationException: Priority queue is empty
at Ecng.Collections.PriorityQueue`2.Peek()
at Ecng.Collections.PriorityQueue`2.PeekValue()
at StockSharp.Algo.Testing.MarketEmulator.#=qs79PTBWoBFuRx8Q2yrv5adgu4HB4C8yklBG_NoWJcqY=.#=q5OvkGwWOHSKoy$qfYt6cNg==()
at StockSharp.Algo.Testing.MarketEmulator.Emulate(Message msg)
at StockSharp.Algo.Testing.MarketEmulator.UpdateQuotes(MarketDepth marketDepth, MarketDepth delta)
at StockSharp.Algo.Testing.RealTimeEmulationTrader`1.#=qzDfzsZDU5Gz7JvAOX_Z4QRgGyGyywkTFxgtASVcbd0M=(IEnumerable`1 #=qut1NpOdjYCX2CJaEhX1aVg==)
at Ecng.Common.DelegateHelper.SafeInvoke[T](Action`1 handler, T arg)
at Ecng.ComponentModel.EventsContainer`1.Raise(IEnumerable`1 items)
2013/05/14 10:03:13.269|Error |QuikTrader|System.InvalidOperationException: Priority queue is empty
at Ecng.Collections.PriorityQueue`2.Peek()
at Ecng.Collections.PriorityQueue`2.PeekValue()
at StockSharp.Algo.Testing.MarketEmulator.#=qs79PTBWoBFuRx8Q2yrv5adgu4HB4C8yklBG_NoWJcqY=.#=q5OvkGwWOHSKoy$qfYt6cNg==()
at StockSharp.Algo.Testing.MarketEmulator.Emulate(Message msg)
at StockSharp.Algo.Testing.MarketEmulator.UpdateQuotes(MarketDepth marketDepth, MarketDepth delta)
at StockSharp.Algo.Testing.RealTimeEmulationTrader`1.#=qzDfzsZDU5Gz7JvAOX_Z4QRgGyGyywkTFxgtASVcbd0M=(IEnumerable`1 #=qut1NpOdjYCX2CJaEhX1aVg==)
at Ecng.Common.DelegateHelper.SafeInvoke[T](Action`1 handler, T arg)
at Ecng.ComponentModel.EventsContainer`1.Raise(IEnumerable`1 items)
2013/05/14 10:03:13.269|Error |QuikTrader|System.InvalidOperationException: Priority queue is empty
at Ecng.Collections.PriorityQueue`2.Peek()
at Ecng.Collections.PriorityQueue`2.PeekValue()
at StockSharp.Algo.Testing.MarketEmulator.#=qs79PTBWoBFuRx8Q2yrv5adgu4HB4C8yklBG_NoWJcqY=.#=q5OvkGwWOHSKoy$qfYt6cNg==()
at StockSharp.Algo.Testing.MarketEmulator.Emulate(Message msg)
at StockSharp.Algo.Testing.MarketEmulator.UpdateQuotes(MarketDepth marketDepth, MarketDepth delta)
at StockSharp.Algo.Testing.RealTimeEmulationTrader`1.#=qzDfzsZDU5Gz7JvAOX_Z4QRgGyGyywkTFxgtASVcbd0M=(IEnumerable`1 #=qut1NpOdjYCX2CJaEhX1aVg==)
at Ecng.Common.DelegateHelper.SafeInvoke[T](Action`1 handler, T arg)
at Ecng.ComponentModel.EventsContainer`1.Raise(IEnumerable`1 items)

Спасибо.



Thanks:


< 1 2 3 4  >
esper

Avatar
Date: 5/14/2013
Reply


longtrades
А может вы не включили логирование КвикТрейдера ?

Код 1 в 1 как в сообщении.
Thanks:

longtrades

Avatar
Date: 5/14/2013
Reply


Как такое может быть что один и тотже код по разному работает ?
В чем может быть причина у меня ? Где мне копать дальше ?
Thanks:

Moadip

Avatar
Date: 5/14/2013
Reply


Quote:
почему так делаю , потому что мне нужны дополнительные поля которые я могу прописать только к Квик трейдеру :( , а к
мулятору нет

Можно так сделать:
Code

var trader = new RealTimeEmulationTrader<QuikTrader>(new QuikTrader());
trader.UnderlyingTrader.SecuritiesTable.Columns.Add(DdeSecurityColumns.MinStepPrice);


По ошибке. Попробуйте установить на компе московский часовой пояс + время.
Это надо чтобы проверить во времени проблема или нет.
Thanks:

longtrades

Avatar
Date: 5/14/2013
Reply


Moadip

По ошибке. Попробуйте установить на компе московский часовой пояс + время.
Это надо чтобы проверить во времени проблема или нет.


Установил московский часовой пояс - не помогло все те же ошибки :(

Thanks:

longtrades

Avatar
Date: 5/14/2013
Reply


Moadip

Можно так сделать:
Code

var trader = new RealTimeEmulationTrader<QuikTrader>(new QuikTrader());
trader.UnderlyingTrader.SecuritiesTable.Columns.Add(DdeSecurityColumns.MinStepPrice);



Переделал так , тоже не помогло :(

Thanks:

Moadip

Avatar
Date: 5/14/2013
Reply


Ок. Тогда еще одни тест.

Открываем Sample для Quik и меняем QuikTrader на RealTimeEmulationTrader<QuikTrader>.
Запускаем. Пробуем открыть стакан.

Стакан открывается без проблем, ошибок нет.

Ошибка только на этой версии или воспроизводится на более ранних тоже?
Thanks:

longtrades

Avatar
Date: 5/14/2013
Reply


4.1.8

Ошибка:
Новое событие ... имеет дату более раннюю, чем текущее время эмулятора ... --- не появляется

а ошибка с которой начинался топик все таже существует , заявки в трейдере тоже остаются активными после удаления.

Столько версий изменилось с 4.1.8 до 4.1.12 , а КанцелОрдер как там не работал так и до сих пор не работает , неужели никто не использует РиалТаймЭмулятор , как по мне так то должен бы быть самый реальный тест .
Thanks:

longtrades

Avatar
Date: 5/15/2013
Reply


Moadip
Ок. Тогда еще одни тест.

Открываем Sample для Quik и меняем QuikTrader на RealTimeEmulationTrader<QuikTrader>.
Запускаем. Пробуем открыть стакан.

Стакан открывается без проблем, ошибок нет.

Ошибка только на этой версии или воспроизводится на более ранних тоже?


Попробуйте одновременно включить на експорт много стаканов , у меня одновременно подключены больше двадцати стаканов, може тогда и у вас будет та же ошибка и вы сможете ее локализовать.

Кроме того попробуйте сделать как в посте номер 9. Один трейдер в другой и включить логирование на обоих трейдерах.

Спасибо.
Thanks:

Moadip

Avatar
Date: 5/16/2013
Reply


Вы пример пробовали переделывать и запускать, как в посте №27?
Thanks:

longtrades

Avatar
Date: 5/16/2013
Reply


Moadip
Вы пример пробовали переделывать и запускать, как в посте №27?


Нет не пробовал.
Меня просили показать код в которм есть такие ошибки , я показал его в посте 14, 15 и логи показал от него. Так же попробовал тот же код с более ранней версией библиотеки, ошибка со ранним появлением события там не наблюдается.

Если этого не достаточно, еще и пример попробую переделать ...
Thanks:
< 1 2 3 4  >

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy