Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Размести программу в Маркете - это 7 миллионов потенциальных клиентов
Artyom Kuraev
663
Artyom Kuraev 2016.03.18 14:46 

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

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

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


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

o_O
Модератор
23267
o_O 2016.03.18 16:56  
тут посмотрите, вроде обсуждалось https://www.mql5.com/ru/forum/133408
Artyom Kuraev
663
Artyom Kuraev 2016.03.18 19:14  
sergeev:
тут посмотрите, вроде обсуждалось https://www.mql5.com/ru/forum/133408

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

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

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

Yurij Kozhevnikov
4358
Yurij Kozhevnikov 2016.03.18 19:53  

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

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

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

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

/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий