← Voltar

Баг в 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

Este tópico foi útil?

Compartilhar tópico

Comentários (4)

Entrar ou Criar conta, Faça login ou cadastre-se para deixar um comentário

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 не зависал при попытке прочитать такой день? Или может руками можно удалить поврежденный участок, чтоб файл читался.