RealTimeEmulationTrader постоянно выдает Error
Atom Ответить
14.05.2013


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

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)

Спасибо.



Спасибо:




33 Ответов
< 1 2 
Moadip

Фотография
Автор статей Программист
Дата: 14.05.2013
Ответить


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

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

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

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

longtrades

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


4.1.8

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

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

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

longtrades

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


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

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

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

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


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

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

Спасибо.
Автор топика
Спасибо:

Moadip

Фотография
Автор статей Программист
Дата: 16.05.2013
Ответить


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

longtrades

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


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


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

Если этого не достаточно, еще и пример попробую переделать ...
Автор топика
Спасибо:

esper

Фотография
Программист
Дата: 16.05.2013
Ответить


longtrades Перейти
Если этого не достаточно, еще и пример попробую переделать ...

Повторить получилось, будем смотреть в чем дело.
Спасибо: longtrades

longtrades

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


esper Перейти
longtrades Перейти
Если этого не достаточно, еще и пример попробую переделать ...

Повторить получилось, будем смотреть в чем дело.


Ок. Спасибо.

Автор топика
Спасибо:

longtrades

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


Поставил версию 4.1.13.1
Ошибки с которой начинался топик уже нет.
Спасибо большое.
А ошибка со временем все же очень редко но проскакивает :

Цитата:

2013/05/24 20:41:14.307|Error |QuikTrader|System.ArgumentException: Новое событие MarketDepth, T=21:41:14.299Бид 3570 29/Оффер 3610 17(1) имеет дату более раннюю, чем текущее время эмулятора 24.05.2013 21:41:14.
Parameter name: message
at StockSharp.Algo.Testing.MarketEmulator.#=qVTJhqdFfwN13BFw70_rUnQ==(Message #=qBQkYrem7F7dV_qXZXz3BuA==)
at StockSharp.Algo.Testing.MarketEmulator.EnqueueMessage(Message message)
at StockSharp.Algo.Testing.MarketEmulator.Emulate(Message msg)
at StockSharp.Algo.Testing.MarketEmulator.UpdateQuotes(MarketDepth marketDepth, MarketDepth delta)
at StockSharp.Algo.Testing.RealTimeEmulationTrader`1.#=qfSvSHyioh3cjIo_pGNOVZfIUIQQtwtHqyl2QJN7Zv5hMxbJ4nn7vOhdgvhNMLA0y(MarketDepth #=qzRsGKaSVz5IK8zfhVfiYVA==)
at Ecng.Collections.CollectionHelper.ForEach[T](IEnumerable`1 source, Action`1 action)
at StockSharp.Algo.Testing.RealTimeEmulationTrader`1.#=qYpGtYsqMRi2o2z6Tewq1Hm3pzOYn7E6885Vm3IVOhBE=(IEnumerable`1 #=qhK9XyF6opYtc5YfsIp_f4g==)
at Ecng.Common.DelegateHelper.SafeInvoke[T](Action`1 handler, T arg)
at Ecng.ComponentModel.EventsContainer`1.Raise(IEnumerable`1 items)
2013/05/24 20:57:17.189|Error |QuikTrader|System.ArgumentException: Новое событие MarketDepth, T=21:57:17.184Бид 6700 35/Оффер 6780 20(1) имеет дату более раннюю, чем текущее время эмулятора 24.05.2013 21:57:17.
Parameter name: message
at StockSharp.Algo.Testing.MarketEmulator.#=qVTJhqdFfwN13BFw70_rUnQ==(Message #=qBQkYrem7F7dV_qXZXz3BuA==)
at StockSharp.Algo.Testing.MarketEmulator.EnqueueMessage(Message message)
at StockSharp.Algo.Testing.MarketEmulator.Emulate(Message msg)
at StockSharp.Algo.Testing.MarketEmulator.UpdateQuotes(MarketDepth marketDepth, MarketDepth delta)
at StockSharp.Algo.Testing.RealTimeEmulationTrader`1.#=qfSvSHyioh3cjIo_pGNOVZfIUIQQtwtHqyl2QJN7Zv5hMxbJ4nn7vOhdgvhNMLA0y(MarketDepth #=qzRsGKaSVz5IK8zfhVfiYVA==)
at Ecng.Collections.CollectionHelper.ForEach[T](IEnumerable`1 source, Action`1 action)
at StockSharp.Algo.Testing.RealTimeEmulationTrader`1.#=qYpGtYsqMRi2o2z6Tewq1Hm3pzOYn7E6885Vm3IVOhBE=(IEnumerable`1 #=qhK9XyF6opYtc5YfsIp_f4g==)
at Ecng.Common.DelegateHelper.SafeInvoke[T](Action`1 handler, T arg)
at Ecng.ComponentModel.EventsContainer`1.Raise(IEnumerable`1 items)
Автор топика
Спасибо:
< 1 2 

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

loading
clippy