Баг в EmulationTrader


Баг в EmulationTrader
Atom
3/15/2013


Обнаружил очень неприятный баг: при попытке начать тестирование на очередном дне тестер внезапно останавливается и "умирает".
Решил загрузить этот день через storageRegistry.GetMarketDepthStorage, в результате ошибка:

"Object reference not set to an instance of an object." в

" at #=q06L9EwbuuY2w$4UYtqOemPzNMCbJtdGXVz4rJTN3rWod1JrKftSdqprmBXkEbf8R.#=qU$JnocjnAN7ETbqxfosfzQ==(#=qmSpGmgb$JBbbTfeW$ZFZDzT5qJdb4Bw0rOj47TBIGgXHNHncNGBdrn1Ey$enF8DBdVK_XN$8LayOYgem$Eld7g== #=qaRLM_L3A2jBavJveiFyIyg==)
at #=qmSpGmgb$JBbbTfeW$ZFZDzT5qJdb4Bw0rOj47TBIGgXHNHncNGBdrn1Ey$enF8DBdVK_XN$8LayOYgem$Eld7g==.MoveNext()
at StockSharp.Algo.Storages.StorageHelper.#=qn9tdtGF$$_6xxrTk0UA53_CNcq3W6tpjnohQoroXo8c=.#=qaEmVxOCcTR$SXINjfOphhRFRPoYbcy7$WxuArYa1Mgo=.#=qfpho6f3G0L0DuYSJ8MW1rc0wBxlTph6Kjgv03k21A06phi_MGIqhGYDZlML5rbG_()
at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)"

Посмотрел сам файл со стаканами этого дня, выглядит нормально, размер не нулевой. И таких файлов у меня очень много, тестировать не возможно. Версия 4.1.8



Thanks:


Mikhail Sukhov

Avatar
Date: 3/15/2013
Reply


Сложно воспроизвести. Можно как-то файл выложить с историей по 1 дню, на котором ругается? Плюс мини код привести.

Thanks:

FiNick

Avatar
Date: 3/18/2013
Reply


Code
var storageRegistry = new StorageRegistry();
((LocalMarketDataDrive)storageRegistry.DefaultDrive).Path = @"C:\Storage";
var time = new DateTime(2013, 03, 14);            
var opt = new Security() { Id = "RI150000BP3@RTS" };
var list = storageRegistry.GetMarketDepthStorage(opt).Load(time, time.AddDays(1)).ToList();


Вот! 15ое число грузится нормально, на 14ом ошибка возникает. Файл прикрепил.
Storage.rar 957 KB (209)
Thanks:

Mikhail Sukhov

Avatar
Date: 3/19/2013
Reply


FiNick Go to
Вот! 15ое число грузится нормально, на 14ом ошибка возникает. Файл прикрепил.


За 14-ое файл наполовину пустой. Это видно даже под hex редактором. Так что вопрос что с файлом можно закрыть, а открыть вопрос как так получилось.
Thanks:

FiNick

Avatar
Date: 3/19/2013
Reply


Такой файл получился в результате многократных зависаний компа/выключения электричества.
Можно ли сделать так, чтобы EmulationTrader не зависал при попытке прочитать такой день? Или может руками можно удалить поврежденный участок, чтоб файл читался.
Thanks:


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

loading
clippy