Sprite
|
Date: 5/13/2021
Насколько я понимаю тут дело в том, что в библиотеке какая-то древняя проблема с закрытием последней свечки сессии/дня, т.е. последняя свечка никогда не принимает значение State == Finished, так как коннектор не знает что сессия закончилась. Вероятно так свечки у вас и сериализовались - незакрытыми. Я пытался вручную закрывать свечки, отправляя в коннектор сообщения с новыми тиками, менял свойство свечи State, чистил хранилище, в общем много чего перепробовал, но удачные эксперименты ломались с обновлениями версии библиотеки. В итоге я устал поддерживать собственные хаки, забил на это и теперь просто держу такую особенность в голове, когда тестирую историю. Но если надо иметь идеальную историю и дело действительно в том, о чём я говорю, то можете изучить как в хранилище или на лету закрывать свечу.
|
|
|
|
|
Greenn
|
Date: 5/13/2021
sprite Насколько я понимаю тут дело в том, что в библиотеке какая-то древняя проблема с закрытием последней свечки сессии/дня, т.е. последняя свечка никогда не принимает значение State == Finished, так как коннектор не знает что сессия закончилась. Вероятно так свечки у вас и сериализовались - незакрытыми. Я пытался вручную закрывать свечки, отправляя в коннектор сообщения с новыми тиками, менял свойство свечи State, чистил хранилище, в общем много чего перепробовал, но удачные эксперименты ломались с обновлениями версии библиотеки. В итоге я устал поддерживать собственные хаки, забил на это и теперь просто держу такую особенность в голове, когда тестирую историю. Но если надо иметь идеальную историю и дело действительно в том, о чём я говорю, то можете изучить как в хранилище или на лету закрывать свечу. Благодарю за ответ) Получается вы используете только 1 день, когда тестируете стратегию?
|
|
Thanks:
|
|
|
|
|
Greenn
|
Date: 5/13/2021
Кстати, при использовании временнЫх свечек кластера правильно отображаются
|
|
Thanks:
|
|
|
|
|
Sprite
|
Date: 5/13/2021
|
|
|
|
Greenn Благодарю за ответ) Получается вы используете только 1 день, когда тестируете стратегию?
Нет, конечно не один день, но так как вы суммируете кластерные объемы в боксовых свечах, то неверными у вас будут значения только в первой группе от начала сессии. И ещё раз - если я прав (это можно проверить принудительно завершив последнюю свечку сессии), то дальше сами решайте как это побороть, на лету править свечки или править свечки в хранилище. Кстати, попробуйте задать размер бокса равным единице и посмотрите исправится ли ошибка (т.е. Timeframe2Multiplier = 1, Timeframe3Multiplier = 1). Greenn Кстати, при использовании временнЫх свечек кластера правильно отображаются Да, потому что логика завершения таймфрейм свечей в библиотеке завязана на времени. В общем по фото трудно поставить диагноз, но в качестве идеи куда можно покопать - я предложил. Еще есть такая бага - если у вас в хранилище есть несколько свечей с одинаковым временем начала и конца (т.е. когда точности горизонтальной шкалы графика не хватает рисовать быстрее секунды), то вообще всё поедет.
|
|
|
|
|
Greenn
|
Date: 5/13/2021
Quote:Нет, конечно не один день, но так как вы суммируете кластерные объемы в боксовых свечах, то неверными у вас будут значения только в первой группе от начала сессии. И ещё раз - если я прав (это можно проверить принудительно завершив последнюю свечку сессии), то дальше сами решайте как это побороть, на лету править свечки или править свечки в хранилище. Кстати, попробуйте задать размер бокса равным единице и посмотрите исправится ли ошибка (т.е. Timeframe2Multiplier = 1, Timeframe3Multiplier = 1). Да, но это касается только ТФ свечей. Если же брать другие (не ТФ) графики (например 200 tick), то там валидна только серия свечей ДО следующего дня, т.е. история длиной в 1 день. Дальше наступает следующий день и все ломается. Я и хотел узнать, как вы обходите этот момент)
|
|
Thanks:
|
|
|
|
|
Sprite
|
Date: 5/13/2021
Greenn Да, но это касается только ТФ свечей. Если же брать другие (не ТФ) графики (например 200 tick), то там валидна только серия свечей ДО следующего дня, т.е. история длиной в 1 день. Дальше наступает следующий день и все ломается. Я и хотел узнать, как вы обходите этот момент) Мне кажется мы не понимаем друг друга. Если вы сделаете Timeframe2Multiplier = 1, Timeframe3Multiplier = 1 то у вас будет "невалидна" только первая свеча в начале сессии, так?
|
|
|
|
|
Greenn
|
Date: 5/14/2021
sprite Greenn Да, но это касается только ТФ свечей. Если же брать другие (не ТФ) графики (например 200 tick), то там валидна только серия свечей ДО следующего дня, т.е. история длиной в 1 день. Дальше наступает следующий день и все ломается. Я и хотел узнать, как вы обходите этот момент) Мне кажется мы не понимаем друг друга. Если вы сделаете Timeframe2Multiplier = 1, Timeframe3Multiplier = 1 то у вас будет "невалидна" только первая свеча в начале сессии, так? Я разобрался [laugh]. Благодарю за помощь)
|
|
Thanks:
|
|
|
|
|
Юрий Басангов
|
Date: 5/14/2021
Greenn sprite Greenn Да, но это касается только ТФ свечей. Если же брать другие (не ТФ) графики (например 200 tick), то там валидна только серия свечей ДО следующего дня, т.е. история длиной в 1 день. Дальше наступает следующий день и все ломается. Я и хотел узнать, как вы обходите этот момент) Мне кажется мы не понимаем друг друга. Если вы сделаете Timeframe2Multiplier = 1, Timeframe3Multiplier = 1 то у вас будет "невалидна" только первая свеча в начале сессии, так? Я разобрался [laugh]. Благодарю за помощь) Уважаемые пользователи, я очень рад, что вы разобрались и надеюсь смогли решить проблему. Если это так, то может поделитесь источником этой проблемы, чтобы мы могли поправить библиотеку и устранить её в корне. Также просьба пояснить как воспроизвести ошибку, т.е. какие настройки необходимо установить, чтобы увидеть сбой. Уточните, вы строили график в Гидре или в Терминале? Если в Терминале, то данные шли напрямую из коннектора? Какой коннектор вы использовали? Квик?
|
|
Thanks:
|
|
|
|
|
Greenn
|
Date: 5/14/2021
|
|
|
|
Quote:Уважаемые пользователи, я очень рад, что вы разобрались и надеюсь смогли решить проблему. Если это так, то может поделитесь источником этой проблемы, чтобы мы могли поправить библиотеку и устранить её в корне. Также просьба пояснить как воспроизвести ошибку, т.е. какие настройки необходимо установить, чтобы увидеть сбой. Уточните, вы строили график в Гидре или в Терминале? Если в Терминале, то данные шли напрямую из коннектора? Какой коннектор вы использовали? Квик? Добрый день. Суть проблемы состоит в том, что библиотека не может завершить НЕЗАКОНЧЕННУЮ СВЕЧУ. Например рассмотрим самую последнюю свечу первого дня истории графика 200 tick. С точки зрения заполнения она может не успеть закончиться к тому моменту, когда закончится торговый день. То есть условно остановиться на отсчете в 136 tick и иметь состояние "Активна". Но это неверно, потому что тиков в этом торговом дне больше не будет, а значит ее нужно ПРИНУДИТЕЛЬНО закрыть. Если этого не сделать, то она будет склеиваться с тиками следующего дня Это Гидра: Цифры в кластерах должны совпадать с цифрами левой картинки, но из-за того, что произошла склейка - все кластера ВТОРОГО ДНЯ принтуются неверно. Два дня которые здесь разобраны представил в виде файла QSH2_S# внизу
|
|
Thanks:
|
|
|
|
|
Greenn
|
Date: 5/14/2021
Что касается Терминала, то там проблема мне непонятна QUIK connector и данные идут напрямую Рассмотрим график RIM1 200 tick Открываем терминал, подключаемся, добавляем свечи и загружаем историю только текущего дня. Параметры загрузки свечей следующие Идет загрузка истории и вдруг с какого-то момента начинается неправильный принт кластеров (с 17.15 Санкт-Петербург, UTC+3)
|
|
Thanks:
|
|
|
|