← Zurück

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

Коллеги!

Выкурил весь мануал и форум, итак не получил ясности, для чего в свече нужен параметр 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 ?

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

War dieses Thema hilfreich?

Thema teilen

Kommentare (10)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

Moadip
Moadip

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
Tauler Autor

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

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

создает хрнилище для минутных ТФ свечей?

Moadip
Moadip

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

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

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


// создаем инструмент
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));

bender
bender

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

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

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

// создаем инструмент var security = new Security ;

// Путь к папке где лежат свечки 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));


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

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

Moadip
Moadip

bender: А как получить свечки из этого хранилища?

var candles = candleStorage.Load(From.Value, To.Value).ToArray();

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

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

bender
bender

Moadip: Путь к данным задан верно? За период From.Value - To.Value точно есть сохраненные свечки указанного ТФ? Именно готовые свечки, а не тики. Да, и путь и свечки есть. Более того, сейчас сформировал свечки в Гидре, сохранил в базу, в папке файлы появились, после этого попытался прочитать их в Гидре, выбрав "не строить", вместо свечек - сообщение "данные отсутствуют".

Tauler
Tauler Autor

Ну да, я имел ввиду CandleSeries Спасибо!

Moadip
Moadip

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

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

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

bender
bender

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

Moadip
Moadip

Кроме txt, xml и excel там есть ещё и sql Да, можно выгрузить и в БД.

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

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

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