Вопрос по порядку расчетов

 
Господа программисты,
В каком порядке МТ4 пересчитывает окна, индикаторы в окнах и экспертов.
Можно-ли как-то повлиять на этот порядок расчетов.
К примеру есть индикатор обобщающий информацию от других индикаторов, как застовить его работать самым последним.
 
сверху вниз по списку индикаторов.

А каким образом ты извлекаешь значения прицепленых индикаторов?
 
Integer:
сверху вниз по списку индикаторов.

А каким образом ты извлекаешь значения прицепленых индикаторов?
через глобальные переменные
 
Ну да:-) Как же еще. Тогда обобщающий индикатор надо последним присоединять на график
 
logoped:
К примеру есть индикатор обобщающий информацию от других индикаторов, как застовить его работать самым последним.
Можно сделать небольшой советник, кот. собирает информацию от всех "рядовых" индикаторов. После того, как советник решит, что все рядовые обновили свое значение, он должен дать сигнал "обобщающему" индикатору на начало работы. "Обобщающий" индикатор "собирает" необходимые GV и считает. Получится, что он работает последним.

Но по-моему, всё можно сделать проще.
В начале start() "обобщающего" индикатора необходимо просто поставить обращение iCustom() к "рядовым" индикаторам. При этом обращении "рядовой" будет пересчитан и вернёт значение в вызывающую его функцию iCustom().
 
Тогда обобщающий индикатор надо последним присоединять на график
Если он chart_window , то последним не получится. Если Separate, тогда он запишется последним, но ему надо будет выделять пустое место в окне.
Можно сделать небольшой советник, кот. собирает информацию от всех "рядовых" индикаторов.
По моим наблюдениям советник работает самый первый и после тика, он показывает результаты предудущено тика, а потом все индикаторы обновляют глобальные переменные.
Но по-моему, всё можно сделать проще.
В начале start() "обобщающего" индикатора необходимо просто поставить обращение iCustom() к "рядовым" индикаторам. При этом обращении "рядовой" будет пересчитан и вернёт значение в вызывающую его функцию iCustom().
А потом, когда дойдет очередь, еще раз его пересчитать и отрисовать. .. От этого как раз и пытаюсь уйти.

Но я так и не услышал компетентного мнения разработчиков. Каков же порядок обработки индикаторов, советников, инструментов??
 
А потом, когда дойдет очередь, еще раз его пересчитать и отрисовать. .. От этого как раз и пытаюсь уйти.
Ничего не надо "ещё раз".
Расчёт в индикаторе при вызове iCustom() начнётся после вызова. А вызов осуществлять на новом тике.
Не надо путать собственно индикатор, рисующий линии, и значение, запрашиваемое через iCustom().
Причина обращения: