Как закачать всю историю по нескольким символам?

 

Задача: в советнике/индикаторе/скрипте нужно получить в массивы O,H,L,C,T значения всех доступных исторических данных со всех таймов. примерно так как это делает тестер - в порядке (убывания Period). в самые дальние даты грузится месяцы/недели, как только появляются данные на часах - идет закачка с них, ну и так далее. самые последние данные ессесно получаются с минуток. если график какогото тайма/символа еще ни разу не открывался - нужно его таки закачать, ну или хотябы предупредить, что таких данных еще нет.

Очень хочется избежать загрузки истории эмуляцией нажатия клавиши Home на живом графике - все должно работать автономно: с графика любого символа и любого периода нужно иметь возможность загрузить все что есть на торговом сервере по любому другому символу по всем его таймам.

Возможно тема уже подымалась и решение есть (давненько меня тут уже не было) - пожалуйста не кидайтесь камнями "юзайте поиск" , просто бросьте ссылочку на "точку входа" и дальше я сам разберусь.

 
Типа этого?

https://www.mql5.com/ru/code/7969
 
granit77:
Типа этого?

эм..... наверно.... надо в коде покопаться - там все както очень "универсально" написано. Вадим наверно не умеет писать НЕправильно :))

 

Этот лучше.

Без эммуляции нажатия HOME не обойтись. Глубина истории не будет обеспечена.

Можно сделать следующим образом. Поставить 2 МТ4. Один настроить символьными ссылками на папку истории другого МТ4. Один будет периодически подкачивать, другой - работать в боевом режиме.

Там DLL в комплекте. Есть такой скрипт. На их базе можно сделать периодическую подкачку по таймеру.

Зацикленный эксперт по таймеру вызывает скрипт, например.

У меня в процессе написания консольное приложение, которое это всё делает само.

 
в принципе я рассчитываю на то что, код будет работать на минутках и данные текущие будут "актуальными". Это задача так сказать "первоначальной инициализации". допустимо даже использование отдельного скрипта который один раз загрузит все и больше трогаться не будет.
Причина обращения: