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.PriorityQueue2.Peek() at Ecng.Collections.PriorityQueue2.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.RealTimeEmulationTrader1.#=qzDfzsZDU5Gz7JvAOX_Z4QRgGyGyywkTFxgtASVcbd0M=(IEnumerable1 #=qut1NpOdjYCX2CJaEhX1aVg==) at Ecng.Common.DelegateHelper.SafeInvoke(Action1 handler, T arg) at Ecng.ComponentModel.EventsContainer1.Raise(IEnumerable1 items) 2013/05/14 10:03:12.062|Error |QuikTrader|System.InvalidOperationException: Priority queue is empty at Ecng.Collections.PriorityQueue2.Peek() at Ecng.Collections.PriorityQueue2.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.RealTimeEmulationTrader1.#=qzDfzsZDU5Gz7JvAOX_Z4QRgGyGyywkTFxgtASVcbd0M=(IEnumerable1 #=qut1NpOdjYCX2CJaEhX1aVg==) at Ecng.Common.DelegateHelper.SafeInvoke(Action1 handler, T arg) at Ecng.ComponentModel.EventsContainer1.Raise(IEnumerable1 items) 2013/05/14 10:03:12.272|Error |QuikTrader|System.InvalidOperationException: Priority queue is empty at Ecng.Collections.PriorityQueue2.Peek() at Ecng.Collections.PriorityQueue2.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.RealTimeEmulationTrader1.#=qzDfzsZDU5Gz7JvAOX_Z4QRgGyGyywkTFxgtASVcbd0M=(IEnumerable1 #=qut1NpOdjYCX2CJaEhX1aVg==) at Ecng.Common.DelegateHelper.SafeInvoke(Action1 handler, T arg) at Ecng.ComponentModel.EventsContainer1.Raise(IEnumerable1 items) 2013/05/14 10:03:12.274|Error |QuikTrader|System.InvalidOperationException: Priority queue is empty at Ecng.Collections.PriorityQueue2.Peek() at Ecng.Collections.PriorityQueue2.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.RealTimeEmulationTrader1.#=qzDfzsZDU5Gz7JvAOX_Z4QRgGyGyywkTFxgtASVcbd0M=(IEnumerable1 #=qut1NpOdjYCX2CJaEhX1aVg==) at Ecng.Common.DelegateHelper.SafeInvoke(Action1 handler, T arg) at Ecng.ComponentModel.EventsContainer1.Raise(IEnumerable1 items) 2013/05/14 10:03:13.269|Error |QuikTrader|System.InvalidOperationException: Priority queue is empty at Ecng.Collections.PriorityQueue2.Peek() at Ecng.Collections.PriorityQueue2.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.RealTimeEmulationTrader1.#=qzDfzsZDU5Gz7JvAOX_Z4QRgGyGyywkTFxgtASVcbd0M=(IEnumerable1 #=qut1NpOdjYCX2CJaEhX1aVg==) at Ecng.Common.DelegateHelper.SafeInvoke(Action1 handler, T arg) at Ecng.ComponentModel.EventsContainer1.Raise(IEnumerable1 items) 2013/05/14 10:03:13.269|Error |QuikTrader|System.InvalidOperationException: Priority queue is empty at Ecng.Collections.PriorityQueue2.Peek() at Ecng.Collections.PriorityQueue2.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.RealTimeEmulationTrader1.#=qzDfzsZDU5Gz7JvAOX_Z4QRgGyGyywkTFxgtASVcbd0M=(IEnumerable1 #=qut1NpOdjYCX2CJaEhX1aVg==) at Ecng.Common.DelegateHelper.SafeInvoke(Action1 handler, T arg) at Ecng.ComponentModel.EventsContainer1.Raise(IEnumerable1 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


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


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: Можно так сделать:

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


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

Thanks:

Moadip

Avatar
Date: 5/14/2013
Reply


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

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

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

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

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. Запускаем. Пробуем открыть стакан.

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

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

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

Кроме того попробуйте сделать как в посте номер 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