Таймер работает для индикаторов созданных для вызова через iCustom?

 

Столкнулся с такой ситуацией:

Есть индикатор, с целью не тормозить терминал сделан на таймере. Если ставить его на график, он загружается шустро, все хорошо.

Есть индикатор на базе предыдущего, вызывает предыдущий через iCustom. Так вот в этом случае второй индикатор показывает новую пачку данных только тогда, когда пришел тик или была нажата кнопка "обновить", такое ощущение, что таймер в первом индикаторе в этом случае не работает в принципе.

Хотелось бы комментариев разработчиков.

 
Комбинатор:

Столкнулся с такой ситуацией:

Есть индикатор, с целью не тормозить терминал сделан на таймере. Если ставить его на график, он загружается шустро, все хорошо.

Есть индикатор на базе предыдущего, вызывает предыдущий через iCustom. Так вот в этом случае второй индикатор показывает новую пачку данных только тогда, когда пришел тик или была нажата кнопка "обновить", такое ощущение, что таймер в первом индикаторе в этом случае не работает в принципе.

Хотелось бы комментариев разработчиков.

так а тот который по кастому вызывается не на таймере ведь ) он новые данные с новым тиком и присылает
 
Maxim Dmitrievsky:
так а тот который по кастому вызывается не на таймере ведь )
Оба на таймере.
 
Я обычно такие ситуации разруливаю параллельной поддержкой и таймера и тиков. Например, если новый тик приходит раньше истечения периода таймера с момента прошлой обработки, пропускаем вычисления. Если тик пришел, а обработка еще ни разу не отработала или отработала более давно чем "период" назад, делаем вычисления. Время последнего вычисления запоминаем.
 

Таймеры индикаторов, что запускаю через скрипт-лаунчер, работают. Индикатор из индикатора - не пробовал.

 

Думаю, что дело именно в лаунчере - ChartIndicatorAdd.

 
Спасибо за тему, оказалось, что к этому

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

MetaEditor build 1463

fxsaber, 2016.11.04 22:14

Если через ChartIndicatorAdd добавить индикатор на OBJ_CHART, то в индикаторе ChartID() будет возвращать номер основного чарта, а не значение OBJPROP_CHART_ID-свойства OBJ_CHART-объекта.
добавляется еще и не работа таймера индикатора на OBJ_CHART.
 

Хорошо бы проверить, принимает ли (без ChartIndicatorAdd) индикатор кастомные евенты в OnChartEvent. Если да, то костыльно можно обойти текущее ограничение таймера.

ЗЫ Не обратил внимание, что ветка в MT4-разделе. Кстати, а как понять сразу, из какого раздела ветка? 

 
fxsaber:

Хорошо бы проверить, принимает ли (без ChartIndicatorAdd) индикатор кастомные евенты в OnChartEvent. Если да, то костыльно можно обойти текущее ограничение таймера. 

Да, это идея.
 
К сожалению, индикаторы из индикатора в MT5 имеют то же ограничение

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

OnTimer в индикаторах

Slava, 2015.09.21 06:49

Это - ограничение архитектуры.

Индикаторы, вызываемые из эксперта, работают в потоке эксперта и не живут собственной жизнью.

 
Таймер возможно симулировать прямо внутри индикатора через создание фейковых Calculate-событий.
 
Не Вы в американские выборы вмешивались? 
Причина обращения: