Обращение к индикатору через iCustom

 

Здравствуйте. Подскажите, пожалуйста, когда из одного индикатора обращаешься в другой через iCustom, то индикатор постоянно загружает и выгружает кустомовский индикатор. С одной стороны, это увеличивает время исполнения индикатора, с другой стороны засоряет журнал, особенно, если по 5 раз на каждый тик обращаешься к индикатору.

Где-то читал (давно это было), что в MQL4 реализовали так называемое раннее связывание, когда индикатор можно было загрузить в OnInit'е и далее обращаться к нему как к объекту - по имени, номеру буфера и смещению.

Но под толстым слоем лет статья потерялась, а iCustom мне нужно постоянно. Может ли кто--нибудь подсказать, реально ли это для 4 версии программ?


Также вопрос. Можно ли убрать сообщения из журнала о том, что идет обращение к индикатору??

 
тут посмотрите, вроде обсуждалось https://www.mql5.com/ru/forum/133408
 
sergeev:
тут посмотрите, вроде обсуждалось https://www.mql5.com/ru/forum/133408

Браво, модератор. Смешная шутка. Только кажется мои вопросы в меру абстрактны, и в то же время конкретны; они не посвящены работе конкретного индикатора в конкретном случае, а касаются принципов работы и принципов взаимодействия индикаторов (любых).

Вопрос первый: можно ли обеспечить раннее связывание индикаторов? То есть вначале работы одного индикатора (в функции OnInit) загрузить индикатор, а затем просто прочитывать информацию откуда-либо. Использование функции iCustom при каждом обращении к ней приводит к инициализации индикатора, расчете всех его значений и выгрузке.

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

 

Ничего не знаю про раннее связывание.

Также не знаю, одинаково ли это работает для обращения через iCustom из советников и из индикаторов.

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

Я у себя в советнике эту информацию использую: каждые 9 минут запрашиваю iClose того графика, выгрузки индикатора с которого хочу избежать. Работает.

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