EmulationTrader не понимает тиков с одинаковым Time
Есть локальная база тиков по фучу РТС в формате FileStorage. Создана перегонкой из текстовых файлов с финама, соответственно все Time атрибуты идут без миллисекунд.
В секунду могут проходить десятки разных сделок с разным объёмом и ценой. StorageAPI нормально к этому относится и умеет их выдавать последовательно - так, как они записаны в файл.
EmulationTrader.NewTrades их так же видит без проблем.
Но уже когда мы тестируем стратегию в EmulationTrader то Strategy.NewTrades уже видит ТОЛЬКО ОДНУ сделку в секунду, а именно из всех сделок в заданную секунду он видит ТОЛЬКО последнюю сделку.
Проверялось так - выводим все сделки в EmulationTrader.NewTrades и сравниваем со сделками в Strategy.When(Security.SecurityNewTrades()).Do(Process);
Первый метод вываливает ВСЕ - второй только последнюю сделку за секунду.
Параметр EmulationTrader.MarketTimeChangedInterval особого влияния не оказал - чаще чем 1 секунда сделки не появлялись, Strategy.Process() не вызывался.
Без какого-либо изменения кода проблему удалось решить перегонкой базы FileStorage - просто добавив миллисекунды всем сделкам по возрастанию - первая сделка в секунду 00мс, вторая 01мс и т.д.
видимо, баг ?
пофиксить не могу - нет кода