Параметр Candle.Argи не только в Candle
Atom Ответить
28.10.2012


Коллеги!

Выкурил весь мануал и форум, итак не получил ясности, для чего в свече нужен параметр Arg?
Что должно быт ьв этом параметре в кастомных (не ТФ) свечах?


Причем аналогичный параметр используется очень широко, например

LocalMarketDataDrive drive = new LocalMarketDataDrive(edtPathToHistoryFile.Text);
drive.GetStorageDrive(security, typeof(Trade),??? Что тут должно быть?)

В ряде примеров я видел, что для создания свечей по ТФ в качестве Arg передается что-то типа TimeSpan.FromMinutes:

TimeSpan _timeFrame = TimeSpan.FromMinutes(1);
_series = new CandleSeries(typeof(TimeFrameCandle), _instr1, _timeFrame);
какой тут смысл параметра _timeFrame ?

Заранее благодарю за помощь

Теги:


Спасибо:




10 Ответов
Moadip

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


30 сек. свечки
Код

_series = new CandleSeries(typeof(TimeFrameCandle), _instr1, TimeSpan.FromSeconds(30));


500 тиковые свечки
Код

_series = new CandleSeries(typeof(TickCandle), _instr1, 500);



5000 объемные свечки(когда наберется объема больше или равного 5000 будет новая свечка)
Код

_series = new CandleSeries(typeof(VolumeCandle), _instr1, 5000);
Спасибо: Sergey Masyura Tauler

Tauler

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


Я правильно понимаю, что

TimeSpan _timeFrame = TimeSpan.FromMinutes(1);
_series = new CandleSeries(typeof(TimeFrameCandle), _instr1, _timeFrame);

создает хрнилище для минутных ТФ свечей?
Автор топика
Спасибо:

Moadip

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


Смотря что вы понимаете под словом "хранилище".

Если хранилище это некий "контейнер" в котором лежат свечки(это если не углублятся в деталиSmile), в данном случае 1 мин., и из которого их потом можно брать, то да.
Но CandleSeries это не только хранилище.Smile

Под хранилищем я подразумеваю, что свечки ранее были сохранены с помощью гидры(или как то еще), и потом они берутся из хранилища, например так:
Код

// создаем инструмент
var security = new Security {Id = "RIZ2@RTS"};

// Путь к папке где лежат свечки
const string path = @"d:\!Data\";
var storage = new StorageRegistry();

// получаем хранилище 1 мин свечек по ри
var candleStorage = storage.GetCandleStorage(new CandleSeries(typeof(TimeFrameCandle), security, TimeSpan.FromMinutes(1)), new LocalMarketDataDrive(path));
Спасибо:

Tauler

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


Ну да, я имел ввиду CandleSeries
Спасибо!
Автор топика
Спасибо:

bender

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


Moadip Перейти
Смотря что вы понимаете под словом "хранилище".

Если хранилище это некий "контейнер" в котором лежат свечки(это если не углублятся в деталиSmile), в данном случае 1 мин., и из которого их потом можно брать, то да.
Но CandleSeries это не только хранилище.Smile

Под хранилищем я подразумеваю, что свечки ранее были сохранены с помощью гидры(или как то еще), и потом они берутся из хранилища, например так:
Код

// создаем инструмент
var security = new Security {Id = "RIZ2@RTS"};

// Путь к папке где лежат свечки
const string path = @"d:\!Data\";
var storage = new StorageRegistry();

// получаем хранилище 1 мин свечек по ри
var candleStorage = storage.GetCandleStorage(new CandleSeries(typeof(TimeFrameCandle), security, TimeSpan.FromMinutes(1)), new LocalMarketDataDrive(path));


А как получить свечки из этого хранилища?
Код
 var candles =  candleStorage.Load(From.Value, To.Value).ToArray();

Так получается пустой массив. версия 4.1.5

Спасибо:

Moadip

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


bender Перейти

А как получить свечки из этого хранилища?
Код
 var candles =  candleStorage.Load(From.Value, To.Value).ToArray();

Так получается пустой массив. версия 4.1.5


Путь к данным задан верно?
За период From.Value - To.Value точно есть сохраненные свечки указанного ТФ?
Именно готовые свечки, а не тики.

Спасибо:

bender

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


Moadip Перейти

Путь к данным задан верно?
За период From.Value - To.Value точно есть сохраненные свечки указанного ТФ?
Именно готовые свечки, а не тики.


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

Спасибо:

Moadip

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


Цитата:
Более того, сейчас сформировал свечки в Гидре, сохранил в базу, в папке файлы появились


Что подразумевается под "Сохранил в базу"? Свечки нельзя сохранить в БД Гидры, в ней находится только служебная инфа.
Свечки собранные из тиков можно экспортировать из Гидры в txt, xml, excel формате. Но гидра не сможет прочитать их.

Гидра понимает(и код в предыдущем посте) данные только в формате bin. Пример: candles_Candle_00_05_00.bin
Свечки в данном формате можно получить или закачав готовые с Финама, или же предварительно самому сохранив.
Спасибо:

bender

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


Moadip Перейти


Что подразумевается под "Сохранил в базу"? Свечки нельзя сохранить в БД Гидры, в ней находится только служебная инфа.
Свечки собранные из тиков можно экспортировать из Гидры в txt, xml, excel формате. Но гидра не сможет прочитать их.


Кроме txt, xml и excel там есть ещё и sql. Мне казалось, что выбрав sql, можно сохранить собранные в гидре свечки в формате гидры, что было бы логично. Как оказалось, это не так. скачанные с финама свечки читаются, да.
Спасибо:

Moadip

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


Цитата:
Кроме txt, xml и excel там есть ещё и sql

Да, можно выгрузить и в БД.

Чтобы выгрузить в БД, делал следующее - создавал отдельную БД, добавлял в конфигурационный файл Гидры еще одну строку подключения.
После этого выбирал в экспорте sql и нужную строку подключения.

Проверил, как оказалось можно сделать экспорт и в БД Гидры. Почему то считал, что можно сделать экспорт только в другую БД.Blushing

Но даже если и можно, то наверное лучше этого не делать. Не стоит смешивать "служебную" инфу с данными.
Спасибо:


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

loading
clippy