Sprite
|
Дата: 13.05.2021
Насколько я понимаю тут дело в том, что в библиотеке какая-то древняя проблема с закрытием последней свечки сессии/дня, т.е. последняя свечка никогда не принимает значение State == Finished, так как коннектор не знает что сессия закончилась. Вероятно так свечки у вас и сериализовались - незакрытыми.
Я пытался вручную закрывать свечки, отправляя в коннектор сообщения с новыми тиками, менял свойство свечи State, чистил хранилище, в общем много чего перепробовал, но удачные эксперименты ломались с обновлениями версии библиотеки. В итоге я устал поддерживать собственные хаки, забил на это и теперь просто держу такую особенность в голове, когда тестирую историю. Но если надо иметь идеальную историю и дело действительно в том, о чём я говорю, то можете изучить как в хранилище или на лету закрывать свечу.
|
|
|
|
|
|
|
Greenn
|
Дата: 13.05.2021
sprite:
Насколько я понимаю тут дело в том, что в библиотеке какая-то древняя проблема с закрытием последней свечки сессии/дня, т.е. последняя свечка никогда не принимает значение State == Finished, так как коннектор не знает что сессия закончилась. Вероятно так свечки у вас и сериализовались - незакрытыми.
Я пытался вручную закрывать свечки, отправляя в коннектор сообщения с новыми тиками, менял свойство свечи State, чистил хранилище, в общем много чего перепробовал, но удачные эксперименты ломались с обновлениями версии библиотеки. В итоге я устал поддерживать собственные хаки, забил на это и теперь просто держу такую особенность в голове, когда тестирую историю. Но если надо иметь идеальную историю и дело действительно в том, о чём я говорю, то можете изучить как в хранилище или на лету закрывать свечу.
Благодарю за ответ)
Получается вы используете только 1 день, когда тестируете стратегию?
|
|
|
|
Спасибо:
|
|
|
|
|
|
Greenn
|
Дата: 13.05.2021
Кстати, при использовании временнЫх свечек кластера правильно отображаются
|
|
|
|
Спасибо:
|
|
|
|
|
|
Sprite
|
Дата: 13.05.2021
|
|
|
|
|
Greenn:
Благодарю за ответ)
Получается вы используете только 1 день, когда тестируете стратегию?
Нет, конечно не один день, но так как вы суммируете кластерные объемы в боксовых свечах, то неверными у вас будут значения только в первой группе от начала сессии. И ещё раз - если я прав (это можно проверить принудительно завершив последнюю свечку сессии), то дальше сами решайте как это побороть, на лету править свечки или править свечки в хранилище. Кстати, попробуйте задать размер бокса равным единице и посмотрите исправится ли ошибка (т.е. Timeframe2Multiplier = 1, Timeframe3Multiplier = 1).
Greenn:
Кстати, при использовании временнЫх свечек кластера правильно отображаются
Да, потому что логика завершения таймфрейм свечей в библиотеке завязана на времени. В общем по фото трудно поставить диагноз, но в качестве идеи куда можно покопать - я предложил.
Еще есть такая бага - если у вас в хранилище есть несколько свечей с одинаковым временем начала и конца (т.е. когда точности горизонтальной шкалы графика не хватает рисовать быстрее секунды), то вообще всё поедет.
|
|
|
|
|
|
|
Greenn
|
Дата: 13.05.2021
Нет, конечно не один день, но так как вы суммируете кластерные объемы в боксовых свечах, то неверными у вас будут значения только в первой группе от начала сессии. И ещё раз - если я прав (это можно проверить принудительно завершив последнюю свечку сессии), то дальше сами решайте как это побороть, на лету править свечки или править свечки в хранилище. Кстати, попробуйте задать размер бокса равным единице и посмотрите исправится ли ошибка (т.е. Timeframe2Multiplier = 1, Timeframe3Multiplier = 1).
Да, но это касается только ТФ свечей. Если же брать другие (не ТФ) графики (например 200 tick), то там валидна только серия свечей ДО следующего дня, т.е. история длиной в 1 день. Дальше наступает следующий день и все ломается. Я и хотел узнать, как вы обходите этот момент)
|
|
|
|
Спасибо:
|
|
|
|
|
|
Sprite
|
Дата: 13.05.2021
Greenn:
Да, но это касается только ТФ свечей. Если же брать другие (не ТФ) графики (например 200 tick), то там валидна только серия свечей ДО следующего дня, т.е. история длиной в 1 день. Дальше наступает следующий день и все ломается. Я и хотел узнать, как вы обходите этот момент)
Мне кажется мы не понимаем друг друга. Если вы сделаете Timeframe2Multiplier = 1, Timeframe3Multiplier = 1 то у вас будет "невалидна" только первая свеча в начале сессии, так?
|
|
|
|
|
|
|
Greenn
|
Дата: 14.05.2021
sprite:
Greenn:
Да, но это касается только ТФ свечей. Если же брать другие (не ТФ) графики (например 200 tick), то там валидна только серия свечей ДО следующего дня, т.е. история длиной в 1 день. Дальше наступает следующий день и все ломается. Я и хотел узнать, как вы обходите этот момент)
Мне кажется мы не понимаем друг друга. Если вы сделаете Timeframe2Multiplier = 1, Timeframe3Multiplier = 1 то у вас будет "невалидна" только первая свеча в начале сессии, так?
Я разобрался [laugh]. Благодарю за помощь)
|
|
|
|
Спасибо:
|
|
|
|
|
|
William B
|
Дата: 14.05.2021
|
|
|
|
|
Greenn:
sprite:
Greenn:
Да, но это касается только ТФ свечей. Если же брать другие (не ТФ) графики (например 200 tick), то там валидна только серия свечей ДО следующего дня, т.е. история длиной в 1 день. Дальше наступает следующий день и все ломается. Я и хотел узнать, как вы обходите этот момент)
Мне кажется мы не понимаем друг друга. Если вы сделаете Timeframe2Multiplier = 1, Timeframe3Multiplier = 1 то у вас будет "невалидна" только первая свеча в начале сессии, так?
Я разобрался [laugh]. Благодарю за помощь)
Уважаемые пользователи, я очень рад, что вы разобрались и надеюсь смогли решить проблему. Если это так, то может поделитесь источником этой проблемы, чтобы мы могли поправить библиотеку и устранить её в корне.
Также просьба пояснить как воспроизвести ошибку, т.е. какие настройки необходимо установить, чтобы увидеть сбой. Уточните, вы строили график в Гидре или в Терминале? Если в Терминале, то данные шли напрямую из коннектора? Какой коннектор вы использовали? Квик?
|
|
|
|
Спасибо:
|
|
|
|
|
|
Greenn
|
Дата: 14.05.2021
|
|
|
|
|
Уважаемые пользователи, я очень рад, что вы разобрались и надеюсь смогли решить проблему. Если это так, то может поделитесь источником этой проблемы, чтобы мы могли поправить библиотеку и устранить её в корне.
Также просьба пояснить как воспроизвести ошибку, т.е. какие настройки необходимо установить, чтобы увидеть сбой. Уточните, вы строили график в Гидре или в Терминале? Если в Терминале, то данные шли напрямую из коннектора? Какой коннектор вы использовали? Квик?
Добрый день. Суть проблемы состоит в том, что библиотека не может завершить НЕЗАКОНЧЕННУЮ СВЕЧУ. Например рассмотрим самую последнюю свечу первого дня истории графика 200 tick. С точки зрения заполнения она может не успеть закончиться к тому моменту, когда закончится торговый день. То есть условно остановиться на отсчете в 136 tick и иметь состояние "Активна". Но это неверно, потому что тиков в этом торговом дне больше не будет, а значит ее нужно ПРИНУДИТЕЛЬНОзакрыть. Если этого не сделать, то она будет склеиваться с тиками следующего дня

Это Гидра:
Цифры в кластерах должны совпадать с цифрами левой картинки, но из-за того, что произошла склейка - все кластера ВТОРОГО ДНЯ принтуются неверно.
Два дня которые здесь разобраны представил в виде файла QSH2_S# внизу
|
|
|
|
Спасибо:
|
|
|
|
|
|
Greenn
|
Дата: 14.05.2021
Что касается Терминала, то там проблема мне непонятна
QUIK connector и данные идут напрямую
Рассмотрим график RIM1 200 tick
Открываем терминал, подключаемся, добавляем свечи и загружаем историю только текущего дня. Параметры загрузки свечей следующие

Идет загрузка истории и вдруг с какого-то момента начинается неправильный принт кластеров (с 17.15 Санкт-Петербург, UTC+3)

|
|
|
|
Спасибо:
|
|
|
|
|