Я так думаю, какое значение в rates_total то и истинное. Если возможно, забудьте про Bars.
Загвоздка в неоднозначности описания. Как хочешь, так и понимай.. Баров типа одно количество, а котировок в разы больше.
Кстати, специально сегодня посмотрел в недосправку по этому поводу. Написано:
Параметр "Max bars in chart"
Параметр "Max bars in charts" ограничивает доступное для графиков, индикаторов и mql5-программ количество баров в формате HC. Это ограничение действует для данных всех таймфреймов, и предназначено в первую очередь для экономии ресурсов.
Устанавливая большие значения данного параметра, следует помнить, что при наличии достаточно глубокой истории ценовых данных для младших таймфреймов расход памяти на хранение таймсерий и буферов индикаторов может составить сотни мегабайт и достигнуть ограничения оперативной памяти для программы клиентского терминала (2Гб для 32-битных приложений MS Windows).
Изменение параметра "Max bars in charts" вступает в силу после перезапуска клиентского терминала. Само по себе изменение данного параметра не вызывает ни автоматического обращения к серверу за дополнительными данными, ни формирования дополнительных баров таймсерий. Запрос дополнительных ценовых данных у сервера и обновление таймсерий с учетом нового ограничения произойдет либо в случае прокрутки графика в область недостающих данных, либо в случае запроса недостающих данных из mql5-программы.
Объем запрашиваемых у сервера данных соответствует требуемому количеству баров данного таймфрейма с учетом значения параметра "Max bars in charts". Ограничение, задаваемое параметром, не является жестким, и в некоторых случаях количество доступных баров по таймфрейму может быть незначительно больше текущего значения параметра.
У меня в терминале стоит ограничение 10 тыс.
Получая количество баров с другого ТФ, который выше относительно того, на котором работает индикатор, возвращается баров в разы больше. Логично предположить, что это утверждение не работает. Справку писать 1 человек, а другой не в курсах об этом. Хренво только, что я сразу об этом не знал. Помучился, с надежой что выйдет всё красиво. Пришёл к выводу, что так как хочу не выйдет по причине не возможности ограничить количество баров нативно. Проще деревянным способом взять данные для написания МТФ индикатора из такого же индикатора, который работает на 1 ТФ и когда получаешь данные выбрать ТФ другой. Деревянно, но работать будет.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
В настройках терминала у меня ограничение баров в окне равное 10 000 т.е. 10 тысяч баров.
Эта функция по-разному ведёт себя в индикатора и в скриптах.
Например, вот скрипт:
Если его накинуть на график в журнале увидим:
Мы видим, что в окне терминала имееся 9999 баров. Всё верно. Дата первого бара, который имеется на открытом графике совпадает с реальной датой, если промотать график в самое начало и поглядеть. Здесь всё в порядке. Этот тестовый скрипт я написал, что бы проверить свои мысли и логику своего кода.
Вот типа голая заготовка индикатора, который ничего не делает. Но там я получаю такие же данные как в скрипте т.е. первый бар открытого графика и его дату, а так же индекс бара с таймфрейа повыше (в данном случае H1) и время его открытия. Время в журнал принтую что бы убедится в корректности того, что я верно нашёл бар. Оказывается, что тот же код в индикаторе не работает, хоть ты стрельнись:
В журнале вижу какую-то чушь т.е не то, что вижу после отработки скрипта:
Возникает вопрос. С чего вдруг скрипт возвращает значение первого бара в истории меньше выставленного мной ограничения в 10тыс баров т.е. 9999, а индикатор возвращает, в данном случае 24853?