Задача простая - мы "разогреваем" стратегию, подгружая исторические данные перед стартом, чтобы сформировались индикаторы. Для этого добавляем к realtime данным исторические данные из гидры.
candleManager = new CandleManager(new TradeCandleBuilderSource(connector));
var cbs = new TradeStorageCandleBuilderSource { StorageRegistry = storageRegistry };
candleManager.Sources.OfType<TimeFrameCandleBuilder>().Single().Sources.Add(cbs);
candleSeries = new CandleSeries(typeof(TimeFrameCandle), security, timeFrame);
candleSeries.ProcessCandle += Draw;
int numHistDays = DateTime.Today.DayOfWeek.ToString() == "Monday" ? 3 : 1;
candleManager.Start(candleSeries, DateTime.Now - TimeSpan.FromDays(numHistDays), DateTime.MaxValue);
Т.е. в любой день недели мы запрашиваем данные за прошлый торговый день из хранилища. Но в понедельник, так как было 2 выходных, это не работает, т.к. надо запросить данные из пятничных торгов.
В теории кусок кода выше должен работать. Но в реальности, почему-то данные за пятницу ни при каких условиях не подкачиваются (либо подкачиваются но не отображаются на графике), хотя обращение к файлам идет:
FileAccess: N:\Hydra MarketData\R\RIM4@FORTS\2014_04_04\trades.bin
FileAccess: N:\Hydra MarketData\R\RIM4@FORTS\2014_04_05\trades.bin
FileAccess: N:\Hydra MarketData\R\RIM4@FORTS\2014_04_06\trades.bin
FileAccess: N:\Hydra MarketData\R\RIM4@FORTS\2014_04_07\trades.bin
Комментарии (11)
Вход или Создать аккаунт, Войдите или зарегистрируйтесь, чтобы оставить комментарий
Пятница это четвертое. Судя по логу был запрос
Ну так я о том и говорю, что запрос был, а данные не выводятся... Более того, если поставить запрос за 10 дней назад, то обращение к файлам идет, но вывода данных нет
Я такой баг вижу каждый понедельник... во вторник данные за понедельник выводятся без проблем уже
А если делать запрос напрямую к тикам через Storage API?
это как?
Тот способ, который выше, ты мне сам подсказал, других способов скрестить live & historical data в S# я не знаю
SampleStorage
Вот этот метод?
А как потом эти тиковые сделки запихнуть в candleManager?
В начале я бы их проэнумеровал, чтобы узнать, если ли данные.
Круто, а как это сделать?
Данные есть - так как в бэктестинге выводятся из того же стораджа и все ок
Через foreach
Данные есть
понедельник уже близко=) Михаил, есть идеи как загрузить историю за прошлую неделю?