← Zurück

Баг в EmulationTrader

Обнаружил очень неприятный баг: при попытке начать тестирование на очередном дне тестер внезапно останавливается и "умирает". Решил загрузить этот день через 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.List1..ctor(IEnumerable1 collection) at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)"

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

War dieses Thema hilfreich?

Thema teilen

Kommentare (4)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

Mikhail Sukhov
Mikhail Sukhov

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

FiNick
FiNick Autor
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ом ошибка возникает. Файл прикрепил.

Mikhail Sukhov
Mikhail Sukhov

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

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

FiNick
FiNick Autor

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