Номер последней свечки (SetUpdateCallback)

Страницы: 1
RSS
Номер последней свечки (SetUpdateCallback)
 
Задал вопрос на Финаме, но те направили сюда.

Колбек-функция для SetUpdateCallback для рынка  акций возвращает повторяющиеся изо дня в день номера свечек. Свечки  часовые, для других не проверял.

Например для инструментов SBER, GAZP
9 января: 12 часовая свечка имеет номер 3014, последняя вечерняя 3020
и так далее . . .
12 января: 12 часовая свечка тоже имеет номер 3014, последняя вечерняя опять 3020

Как будто нумерация всё время смещается. Это так задумано или это ошибка в данных ?

Упрощенный пример кода
ds, errortxt = CreateDataSource ("TQBR", "GAZP", INTERVAL_H1);
ds:SetUpdateCallback(UpdateCandle);

function UpdateCandle(ind)
 --  ind - номер последней изменившейся свечи, каждые сутки по кругу
end
 
Терминал QUIK при наличии пришедших с сервера данных хранит примерно 3000 записей - т.е. примерно 3000 свечей. Это означает, что если история инструмента на вашем рабочем месте содержит, скажем, 3060 свечей (с 10-00 до 18-45) мы имеем 9 часовых интервалов в сутки) - т.е. историю за 340 торговых дней, - то да, номер последней свечи будет один и тот же, так как нумерация идет в возрастающем порядке и ограничивается лимитом примерно в 3000. Есть ли возможность поставки через CreateDataSource() данных только за последний торговый день - это уже вопрос к разработчикам.
 
Нет. Такой возможности нет и быть не должно.

для того чтобы посмотреть, какой была свеча например в 12-00, нужно искать ее не по номеру, а по времени.

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

также вам никто не гарантирует, что даже в течение дня у вас будут в наличии все свечи без пропусков : в какие-то моменты торговли могло не быть по любой причине и нумерация изменится  
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
 
Цитата
Andrei2016 написал:
Терминал QUIK при наличии пришедших с сервера данных хранит примерно 3000 записей - т.е. примерно 3000 свечей. Это означает, что если история инструмента на вашем рабочем месте содержит, скажем, 3060 свечей (с 10-00 до 18-45) мы имеем 9 часовых интервалов в сутки) - т.е. историю за 340 торговых дней, - то да, номер последней свечи будет один и тот же, так как нумерация идет в возрастающем порядке и ограничивается лимитом примерно в 3000. Есть ли возможность поставки через CreateDataSource() данных только за последний торговый день - это уже вопрос к разработчикам.
Подскажите, пожалуйста, если данных в текущем тайм-фрейме по инструменту заведомо больше, чем 4000 записей, то какое количество свечек гарантировано выдаст quik? не менее 3000?, не менее 2000? Существует ли определенная нижняя граница?
 
Алексей,
лимит у терминала QUIK - приблизительно 3000 интервалов для хранения в качестве истории. На разных инструментах может варьироваться от 2980 до 3100. Точнее не скажу, можете проверить экспериментально. Если у вас на компьютере гарантированно находится информация о 4000 интервалов, то все равно лимит будет в диапазоне от 2980 до 3100. Поэтому в данном случае по вашему инструменту номер последней свечи все время будет один и тот же, просто будут меняться ее характеристики OHLCV.
Страницы: 1
Читают тему
Наверх