Загрузка исторических данных в понедельник

Загрузка исторических данных в понедельник
Atom
07.04.2014
devruss


Задача простая - мы "разогреваем" стратегию, подгружая исторические данные перед стартом, чтобы сформировались индикаторы.
Для этого добавляем к 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


Теги:


Спасибо:


1 2  >
Mikhail Sukhov

Фотография
Дата: 07.04.2014
Ответить


Пятница это четвертое. Судя по логу был запрос
Спасибо:

devruss

Фотография
Дата: 07.04.2014
Ответить


Михаил Сухов
Пятница это четвертое. Судя по логу был запрос


Ну так я о том и говорю, что запрос был, а данные не выводятся... Более того, если поставить запрос за 10 дней назад, то обращение к файлам идет, но вывода данных нет

Я такой баг вижу каждый понедельник... во вторник данные за понедельник выводятся без проблем уже
Спасибо:

Mikhail Sukhov

Фотография
Дата: 07.04.2014
Ответить


devruss

Я такой баг вижу каждый понедельник... во вторник данные за понедельник выводятся без проблем уже


А если делать запрос напрямую к тикам через Storage API?
Спасибо:

devruss

Фотография
Дата: 07.04.2014
Ответить


Михаил Сухов
devruss

Я такой баг вижу каждый понедельник... во вторник данные за понедельник выводятся без проблем уже


А если делать запрос напрямую к тикам через Storage API?


это как?

Тот способ, который выше, ты мне сам подсказал, других способов скрестить live & historical data в S# я не знаю
Спасибо:

Mikhail Sukhov

Фотография
Дата: 07.04.2014
Ответить


devruss

это как?


SampleStorage
Спасибо:

devruss

Фотография
Дата: 09.04.2014
Ответить


Михаил Сухов
devruss

это как?


SampleStorage


Вот этот метод?
Код

var loadedTrades = tradeStorage.Load(DateTime.Today, DateTime.Today + TimeSpan.FromMinutes(1000));


А как потом эти тиковые сделки запихнуть в candleManager?
Спасибо:

Mikhail Sukhov

Фотография
Дата: 09.04.2014
Ответить


devruss

А как потом эти тиковые сделки запихнуть в candleManager?


В начале я бы их проэнумеровал, чтобы узнать, если ли данные.
Спасибо:

devruss

Фотография
Дата: 09.04.2014
Ответить


Михаил Сухов
devruss

А как потом эти тиковые сделки запихнуть в candleManager?


В начале я бы их проэнумеровал, чтобы узнать, если ли данные.


Круто, а как это сделать?

Данные есть - так как в бэктестинге выводятся из того же стораджа и все ок
Спасибо:

Mikhail Sukhov

Фотография
Дата: 09.04.2014
Ответить


Через foreach
Спасибо:

devruss

Фотография
Дата: 09.04.2014
Ответить


Данные есть
Спасибо:
1 2  >

Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy