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

 
Добрый день всем.
Пытаюсь организовать мульти таймфреймовый советник, но все никак не уясню процесс подкачки данных.

1. может кто-то подскажет статью или тему, что подобное обсуждалось
2. ситуация:
2.1. после инициализации нужных тф, начинаю листать бары на эти тф используя логику типа
fromBar = lastCounted; // вытянули последний обработанный через lastCountedTime
 tillBar = 1; // ищем всегда по 1-ый, ведь 0-ой не сформировался

 lastCrossBar = search(tf, fromBar, tillBar);
 { // типа внутри функции search
 for (int i = tillBar; i < fromBar; i++)
 {
 datetime t = iTime(NULL, tfArray[tf], i);
 Print("i: ", i, "; t: ", TimeToStr(t, TIME_DATE|TIME_MINUTES));
 ...
 }
 ...
 }
 lastCountedTime = iTime(NULL, tfArray[tf], tillBar); // перезаписываем последний обработанный бар на этом тф
  
2.2. выходит что в ходе работы, данные по других тф, подгружаются НЕ из файлов истории этих тф. Сколько бы я не рестартовал терминал, как только я обращаюсь к функциям iTime, и другим функциям таймсерий, они подкачивают данные с сервера и на файлы они не смотрят. Верно ли я понял?
3. можно ли как-то организовать без задержек на принудительную подкачку работу подобного мульти-таймфреймового советника?
4. как можно организовать тестирование подобного мульти-таймфреймового советника?
 
vedroid писал(а) >>
Добрый день всем.
Пытаюсь организовать мульти таймфреймовый советник, но все никак не уясню процесс подкачки данных.

1. может кто-то подскажет статью или тему, что подобное обсуждалось
2. ситуация:
2.1. после инициализации нужных тф, начинаю листать бары на эти тф используя логику типа

2.2. выходит что в ходе работы, данные по других тф, подгружаются НЕ из файлов истории этих тф. Сколько бы я не рестартовал терминал, как только я обращаюсь к функциям iTime, и другим функциям таймсерий, они подкачивают данные с сервера и на файлы они не смотрят. Верно ли я понял?
3. можно ли как-то организовать без задержек на принудительную подкачку работу подобного мульти-таймфреймового советника?
4. как можно организовать тестирование подобного мульти-таймфреймового советника?

С сервера ничего не закачивается.

В тестере при первом обращении (явном обращении) идет загрузка соотвествующей истории (с диска, но не с сервера).

Загрузка с сервера будет только на демо или реале (если истории по данным таймфреймам не существует или ее недостаточно), но не в тестере.

 

Спасибо, ну раз говорите из файла... значит из файла

1. но как подкачать данные тф, если окошка с таким тф не открыто? (и будут ли доступны подкаченные данные, ведь на диск история сбрасывается при закрытии терминала)

2. может у кого-нибудь есть пример организации подобной задерки, пока данные будут подкаченны?

 
https://forum.mql4.com/ru/20982
 

в последнее время я что-то отстал от жизни или отупел..

я по поводу получения цен в коде..

можно ли получить цену инструмента (в обзоре инструментов он есть), если график по этой цене никогда не открывался,

используя iClose,iHigh,iLow,iOpen ?


ведь нельзя же, иногда даже маркетинфо не срабатывает хотя должно..


а то меня тут убеждали что мол дескать для работы мультивалютного советника достаточно и одного открытого окна, на котором он будет висеть,

а историю типа по другим парам мы закачаем, если окна не открыты, то обновляться то она не будет терминалом, т.е. используя iClose,iHigh,iLow,iOpen

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

или я не прав ?

 
keekkenen >>:

ведь нельзя же, иногда даже маркетинфо не срабатывает хотя должно..


double MarketInfo( string symbol, int type)
Возвращает различную информацию о финансовых инструментах, перечисленных в окне "Обзор рынка". Часть информации о текущем финансовом инструменте хранится в предопределенных переменных.

Если их там нет то не должно =))

С открытым 1 окном можно переберать только из "Обзор рынка" остальные инструменты не будут обновляться пример использования.

Причина обращения: