Подгрузка исторических данных по разным таймфреймам в советнике

 

Добрый день.

Подскажите по такому вопросу: можно ли подгрузить данные по всем таймфреймам текущего символа?

Мне в советнике нужен доступ к данным из различных таймфреймов текущего символа, но как я понимаю они подгрузятся только если явно руками сменить таймфрейм на графике. Есть ли какие варианты подгрузить таймфремы не меняя его на графике?

 
mql_writer2:

Добрый день.

Подскажите по такому вопросу: можно ли подгрузить данные по всем таймфреймам текущего символа?

Мне в советнике нужен доступ к данным из различных таймфреймов текущего символа, но как я понимаю они подгрузятся только если явно руками сменить таймфрейм на графике. Есть ли какие варианты подгрузить таймфремы не меняя его на графике?

https://www.mql5.com/ru/forum/255852#comment_7744100

Вернуться к окну, где установлен советник
Вернуться к окну, где установлен советник
  • 2018.06.12
  • www.mql5.com
Здравствуйте форумчане! Советник использует для работы четыре таймфрейма...
 


Спасибо, похоже то что нужно.

Т.е. как я понимаю периодический вызов

iTime(NULL, tf, 1);

сможет подгрузить полностью историю по нужному таймфрейму?

 
Проверил, нужный таймфрейм подгружается не полностью, только 2048 баров. А можно как нибудь заставить таймсерию подгрузить полную историю с сервера?
 
mql_writer2:
Проверил, нужный таймфрейм подгружается не полностью, только 2048 баров. А можно как нибудь заставить таймсерию подгрузить полную историю с сервера?

Посмотрите, что установлено здесь: Сервис - Настройки - Макс. баров в истории

 
Ihor Herasko:

Посмотрите, что установлено здесь: Сервис - Настройки - Макс. баров в истории

512000

Руками график прогружается, всё нормально.

Пробовал с помощью iTime достучасться по серии дальше - безрезультатно, только 2048 баров.
 
mql_writer2:

512000

Руками график прогружается, всё нормально.

Пробовал с помощью iTime достучасться по серии дальше - безрезультатно, только 2048 баров.

Докачку можно сделать, эмулируя нажатие клавиши Home на графике, т. е. только при помощи WinAPI. На чистом MQL не получится. Был такой скрипт у Вадима Жунко: ZG_All_Quotings 3.2. Но где-то проскакивало, что уже не работает после обновлений МТ4. Нужно проверять.

 
Ihor Herasko:

Докачку можно сделать, эмулируя нажатие клавиши Home на графике, т. е. только при помощи WinAPI. На чистом MQL не получится. Был такой скрипт у Вадима Жунко: ZG_All_Quotings 3.2. Но где-то проскакивало, что уже не работает после обновлений МТ4. Нужно проверять.

Ясно, спасибо! Поищу. Ну если не получится, придется руками прогружать, что уж там :)
 
mql_writer2:

Пробовал с помощью iTime достучасться по серии дальше - безрезультатно, только 2048 баров.

2048 это "порция" подкачки данных с сервера

ну и в целом, вопрос по подкачке истории в МТ4 регулярно подымается, не насилуйте терминал, руками загрузите и обновите все ТФ, затем подкачивайте историю при работе советника как указали во втором сообщении, тогда гарантированно все будет работать

в МТ4 нет средства контроля, что история уже вся подгружена с сервера, запросы на подкачку через функции iTime,iClose...iXXXXX() асинхронные, и результат инициирование процесса подгрузки истории, а результат окончания или вообще результат качается ли история нельзя получить

 
Igor Makanu:

2048 это "порция" подкачки данных с сервера

ну и в целом, вопрос по подкачке истории в МТ4 регулярно подымается, не насилуйте терминал, руками загрузите и обновите все ТФ, затем подкачивайте историю при работе советника как указали во втором сообщении, тогда гарантированно все будет работать

в МТ4 нет средства контроля, что история уже вся подгружена с сервера, запросы на подкачку через функции iTime,iClose...iXXXXX() асинхронные, и результат инициирование процесса подгрузки истории, а результат окончания или вообще результат качается ли история нельзя получить

Ну как результат окончания можно было бы выбрать достаточное количество баров. Ну да ладно, я так уже подумал, что проще руками всё прогрузить.

Да и порция в 2048 тоже какая то странная: из таймфрейма M1 советник по финту через iTime прогрузил на D1 только 1081 бар. Переключаюсь в D1, становятся доступными 2781 бар после прогрузки руками. Обратно переключаюсь в М1 - те же 1081 бар :)

Даже уже прогруженная история в D1 почему то не вся доступна таким образом.
 
mql_writer2:

Ну как результат окончания можно было бы выбрать достаточное количество баров. Ну да ладно, я так уже подумал, что проще руками всё прогрузить.

Да и порция в 2048 тоже какая то странная: из таймфрейма M1 советник по финту через iTime прогрузил на D1 только 1081 бар. Переключаюсь в D1, становятся доступными 2781 бар после прогрузки руками. Обратно переключаюсь в М1 - те же 1081 бар :)

Даже уже прогруженная история в D1 почему то не вся доступна таким образом.

вот топик с обсуждением подкачки истории в МТ4 https://www.mql5.com/ru/forum/280448/page8#comment_8831732 

более полного и свежего обсуждения этой проблемы не найдете

[СЕРВИСДЕСК] Ошибка получения времени старшего ТФ в таймере!
[СЕРВИСДЕСК] Ошибка получения времени старшего ТФ в таймере!
  • 2018.09.27
  • www.mql5.com
Задача: при запуске индикатора получить в таймере актуальные данные: время открытия недельного, дневного и часового бара...