Сжатие свечек в больший таймфрейм
Atom Ответить
21.03.2017


Есть ли возможность получать свечки большего таймфрейма на основании скачанных исторических свечек меньшего таймфрейма?
Например, я загрузил в HistoryEmulationConnector с использованием StorageRegistry 1-минутные свечки и
хочу получить через коннектор и CandleSeries 5-ти минутные свечки.

Если в коннектор загружать тики, то все работает (только последняя свечка не приходит),
с 1-но минутными свечками данное решение не работает.
Можно конечно преобразовать свечки в тики (нашел метод ToTrade и в коннектор грузить преобразованные тики), правда
данный метод еще не опробовал, но может есть более простое решение?

Пытаюсь сделать следующим образом:

Переменная _historyCandles содержит коллекцию 1-но минутных свечек IEnumerable<TimeFrameCandleMessage>

timeFrame=TimeSpan.FromMinutes(1);

storage = new StorageRegistry();
if (candleStorage != null) candleStorage.Delete();
candleStorage = storage.GetCandleStorage(typeof(TimeFrameCandle),_selSecurity, timeFrame);
candleStorage.Save(_historyCandles);

d1 = _historyCandles.ElementAt(0).OpenTime;
d2 = _historyCandles.ElementAt(_historyCandles.Count() - 1).CloseTime.Date +
_selSecurity.Board.WorkingTime.Periods[0].Times[0].Max;

_historyConnector = new HistoryEmulationConnector(new[] { _selSecurity },
new[] { _selPortfolio }, storage)
{
EmulationAdapter =
{
Emulator = { Settings = { MatchOnTouch = false, } }
},
UseExternalCandleSource = true,
CreateDepthFromOrdersLog = false,
CreateTradesFromOrdersLog = false,
};

_historyConnector.HistoryMessageAdapter.StartDate = d1;
_historyConnector.HistoryMessageAdapter.StopDate = d2;

_historyConnector.Connect();

_candleManager = new CandleManager(_historyConnector);

_candleTimeFrame = TimeSpan.FromMinutes(5);
_connectorCandleSеries = new CandleSeries(typeof(TimeFrameCandle), _selSecurity, _candleTimeFrame);
_candleManager.Processing += DrawElement;
_candleManager.Start(_connectorCandleSеries);

_historyConnector.Start();

Результат - 5-ти минутные свечки не приходят.



Спасибо:




1 Ответов
Support

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


Нельзя... Используйте готовые свечи нужного тайм-фрейма...
Спасибо:


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

loading
clippy