ключевое слово "periodconverter"
...и одноименный скрипт в Скриптах
поделитесь. Не только мне будет полезно
основа как и сказали выше стандартный PeriodConverter, могу в ЛС бросить индикатор, который строит оффлайн-график по торговым сессиям (1 бар = 1 сессия ) и обновляет онлайн, в открытый доступ не хотелось бы, под заказ писал. Пишите если интересно
основа как и сказали выше стандартный PeriodConverter, могу в ЛС бросить индикатор, который строит оффлайн-график по торговым сессиям и обновляет онлайн, в открытый доступ не хотелось бы, под заказ писал. Пишите если интересно
оттуда (из PeriodConverter) разве что заголовки файла можно стащить (подсмотреть) :-)
меня немного смущает в нём логика обновления бара, но это скрипт ему можно...
будучи неоднкратно послан к PeriodConverter, его чуть-чуть процитирую:
Заголовок .hst средствами MQL записывается так (copy-paste из PeriodConverter) :
//--- write history file header
FileWriteInteger(ExtHandle,file_version,LONG_VALUE);
FileWriteString(ExtHandle,c_copyright,64);
FileWriteString(ExtHandle,c_symbol,12);
FileWriteInteger(ExtHandle,i_period,LONG_VALUE);
FileWriteInteger(ExtHandle,i_digits,LONG_VALUE);
FileWriteInteger(ExtHandle,0,LONG_VALUE);
FileWriteInteger(ExtHandle,0,LONG_VALUE);
FileWriteArray(ExtHandle,i_unused,0,13);
всего 168 байт вроде как (double по 8, i_unused по 4 байта, строки по байту на символ).
будучи неоднкратно послан к PeriodConverter, его чуть-чуть процитирую:
Заголовок .hst средствами MQL записывается так (copy-paste из PeriodConverter) :
//--- write history file header
FileWriteInteger(ExtHandle,file_version,LONG_VALUE);
FileWriteString(ExtHandle,c_copyright,64);
FileWriteString(ExtHandle,c_symbol,12);
FileWriteInteger(ExtHandle,i_period,LONG_VALUE);
FileWriteInteger(ExtHandle,i_digits,LONG_VALUE);
FileWriteInteger(ExtHandle,0,LONG_VALUE);
FileWriteInteger(ExtHandle,0,LONG_VALUE);
FileWriteArray(ExtHandle,i_unused,0,13);
PS/ кстати в других форумах видел отсылки что последние 2 лонг - это на самом деле DATETIME - время создания и время последней синхронизации. Так или нет ?
да правильно, вот пример в КБ где это используется https://www.mql5.com/ru/code/9888 (Быстрый метод загрузки истории ( FastMethod = TRUE ):)

- www.mql5.com
захотелось в MT4 нарисовать свечи чуть-по-другому (немного пофильтровать/сгладить)
и посмотреть как себя ведут стандартные и не очень индикаторы.
конечно могу и сам раскопать как работать с .hst и обновлять графики, НО
это явно давно многие делали и наверное есть грамотные статьи, записи в блогах, темы форума, примеры в CodeBase
поделитесь. Не только мне будет полезно
С обновлением оффлайн-графиков, действительно, не все так просто. Много нюансов. Но это касается лишь действительно нестандартных графиков. Если графики обычные (тйамфреймы) с периодом не менее одной минуты, то особых проблем нет.
Мои мучения в этом направлении вот здесь. )))
если писать тики в .hst, в теории, должно получиться тоже самое, что и обычные бары
а как выглядит проблема?
Например, если период графика 30 секунд. Тогда на одну минуту будет приходится две свечи. МТ4 такого поворота не ожидает и пишет об ошибке истории. Решается проблема только сдвигом новых свечей в будущее. В итоге получаем правильный ценовой ряд, но неправильный - временной. С графиками, не зависящими от времени (ренко, эквиобъемные, крестики-нолики, равновысокие), этот вопрос стоит наиболее остро.
Самое интересное, что тестер стратегий ведет себя по-другому, разрешая существование двух и более свечей с одной минутой открытия.

- www.metatrader5.com
Например, если период графика 30 секунд. Тогда на одну минуту будет приходится две свечи. МТ4 такого поворота не ожидает и пишет об ошибке истории. Решается проблема только сдвигом новых свечей в будущее. В итоге получаем правильный ценовой ряд, но неправильный - временной. С графиками, не зависящими от времени (ренко, эквиобъемные, крестики-нолики, равновысокие), этот вопрос стоит наиболее остро.
Самое интересное, что тестер стратегий ведет себя по-другому, разрешая существование двух и более свечей с одной минутой открытия.
понятно, да видел и знаю, но тут терминал сам проверяет при первом открытии графиков корректность построения баров и пишет в лог об ошибках
как построить корректно бары с временем открытия в секундах вариантов особо нет... хотя насколько я помню вызов iCustom() с параметрами нестандартного ТФ в МТ4 без проблем работает, можно попробовать строить ТФ с 30-секундными барами, но не открывать его в терминале, а вызывать через iCustom() - может тогда терминал не будет проверять корректность построения графика?
понятно, да видел и знаю, но тут терминал сам проверяет при первом открытии графиков корректность построения баров и пишет в лог об ошибках
как построить корректно бары с временем открытия в секундах вариантов особо нет... хотя насколько я помню вызов iCustom() с параметрами нестандартного ТФ в МТ4 без проблем работает, можно попробовать строить ТФ с 30-секундными барами, но не открывать его в терминале, а вызывать через iCustom() - может тогда терминал не будет проверять корректность построения графика?
Да, тогда ошибок не пишет. То есть виртуально такой график существовать может. А вот с отображением, что и нужно большинству пользователей, проблема.

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
захотелось в MT4 нарисовать свечи чуть-по-другому (немного пофильтровать/сгладить)
и посмотреть как себя ведут стандартные и не очень индикаторы.
конечно могу и сам раскопать как работать с .hst и обновлять графики, НО
это явно давно многие делали и наверное есть грамотные статьи, записи в блогах, темы форума, примеры в CodeBase
поделитесь. Не только мне будет полезно