MQL4 - automated forex trading   /  

Форум

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

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

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

Бесплатная Groupware для групп разработчиков

Установите систему групповой работы TeamWox и объедините усилия всех разработчиков. Это поможет вашей команде работать быстрее и организованнее. Благодаря TeamWox станет намного проще ставить задачи и контролировать их выполнение.


avatar
8628
Integer 21.04.2006 17:37 
сверху вниз по списку индикаторов.

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

avatar
40
logoped 24.04.2006 12:41 
Integer:
сверху вниз по списку индикаторов.

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

avatar
8628
Integer 24.04.2006 12:59 
Ну да:-) Как же еще. Тогда обобщающий индикатор надо последним присоединять на график

avatar
313
SKif 24.04.2006 13:18 
logoped:
К примеру есть индикатор обобщающий информацию от других индикаторов, как застовить его работать самым последним.
Можно сделать небольшой советник, кот. собирает информацию от всех "рядовых" индикаторов. После того, как советник решит, что все рядовые обновили свое значение, он должен дать сигнал "обобщающему" индикатору на начало работы. "Обобщающий" индикатор "собирает" необходимые GV и считает. Получится, что он работает последним.

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

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

Но я так и не услышал компетентного мнения разработчиков. Каков же порядок обработки индикаторов, советников, инструментов??

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

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