не могу получить свечки с финама
Atom Ответить
31.01.2013


закачал в Гидре минутные свечки и сделки RIH3 с источника данных Финам.
свечки в Гидре показываются, даже график по ним строится.

Код

            var security = new Security
            {
                Id = "RIH3@RTS", 
                Code = "RIH3", 
                Name = "RTS-3.13",
                MinStepSize = 5,
                MinStepPrice = 2,
                Exchange = Exchange.Rts,
            };

            var portfolio = new Portfolio { Name = "test account", BeginValue = 1000000m };

            var storage = new StorageRegistry();

            const string path = @"D:\Hydra\R";
            ((LocalMarketDataDrive)storage.DefaultDrive).Path = path;

            var timeFrame = TimeSpan.FromMinutes(1);



            var tradeStorage = storage.GetTradeStorage(security);

            // вот здесь сделки прекрасно загружаются в большом количестве
            IEnumerable<Trade> trades = tradeStorage.Load(null, null);
            Console.WriteLine("Количество загруженных сделок: " + trades.Count());



            var candleStorage = storage.GetCandleStorage(typeof(TimeFrameCandle), security, timeFrame);

            // а здесь пишет 0
            IEnumerable<Candle> candles = candleStorage.Load(null, null);
            Console.WriteLine("Количество загруженных свечек: " + candles.Count());


В чём может быть проблема?
Как правильно поступать в таком случае?

Теги:


Спасибо:




5 Ответов
Moadip

Фотография
Автор статей Программист
Дата: 31.01.2013
Ответить


Название треда не соответствует его содержимому.
Гидра, исторические данные » не могу получить свечки с финама

Из названия получается что вы не можете скачать свечки Гидрой с финама.

Если Гидра все скачивает и показывает, разбирайтесь со своим кодом.
Или как вариант смотрите как это делает Гидра. Исходники открыты.






Спасибо:

softarion

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


Ещё есть вариант: собрать свечки из тиков.
Подскажите, пожалуйста, как это можно сделать!

Автор топика
Спасибо:

esper

Фотография
Программист
Дата: 01.02.2013
Ответить


Скорее всего у вас неверно указан путь к данным. Как собрать свечки из тиков есть в документации.
Спасибо:

softarion

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


Да, действительно в документации всё прекрасно написано.
Я добавил в пример SampleSMA вот такой код:

Код

var storage = new StorageRegistry();

const string path = @"D:\Hydra\R";
((LocalMarketDataDrive)storage.DefaultDrive).Path = path;
var cbs = new TradeStorageCandleBuilderSource { StorageRegistry = storage };
_candleManager.Sources.OfType<TimeFrameCandleBuilder>().Single().Sources.Add(cbs);


потом запускаю:
Код

_candleManager.Start(series, start_dt, stop_dt);


это почему-то работает ультрадолго. тики за один день грузятся минут 5.
приложение в памяти занимает 300 мб (тики за вчера + сегодняшние сделки из квика)

А ведь мне всего лишь нужны минутные свечи.

Есть ли способ побыстрее / попроще их получить?
Автор топика
Спасибо:

VassilSanych

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


Да, память надо как-то чистить. Потому что история используется только для разового вычисления установочных данных и висит в памяти потом всё время.
Для портфеля из 5-6 волатильных инструментов это будет полная *опа.
Спасибо:


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

loading
clippy