Помогите доработать индикатор

 

Возникла идея вывести в одно окно расчет MACD как с текущего, так и с более старшего таймфрейма, но что-то iMA с более старшего ТФ расчитывается только при запуске индикатора и далее не пересчитывается.

Работа индикатора происходит только в динамическом режиме, нужно смотреть в тестере в режиме визуализации. Массив IMA в который должна записываться разность iMA с ТФ М5 - не обновляется. Подскажите, в чем проблема?

Файлы:
macd_2tf.mq4  5 kb
 
Angela:

Возникла идея вывести в одно окно расчет MACD как с текущего, так и с более старшего таймфрейма, но что-то iMA с более старшего ТФ расчитывается только при запуске индикатора и далее не пересчитывается.

Работа индикатора происходит только в динамическом режиме, нужно смотреть в тестере в режиме визуализации. Массив IMA в который должна записываться разность iMA с ТФ М5 - не обновляется. Подскажите, в чем проблема?


Может лучше использовать нормальный MTF_MACD
 
Angela:

Работа индикатора происходит только в динамическом режиме, нужно смотреть в тестере в режиме визуализации. Массив IMA в который должна записываться разность iMA с ТФ М5 - не обновляется. Подскажите, в чем проблема?

При запросе данных с другого таймфрейма (iTime, iHigh, iOpen, iClose, iLow, iVolume) необходимо проверять возникновение ошибки 4066. Если возникла, то подождать обновления данных (если индикатор, то на другом тике, т.к. Sleep не работает) и повторить запрос. Не использовать полученные данные, пока возникает ошибка 4066.

В режиме визуализации же у индикаторов "птичьи права". Без проблем им доступен только текущий таймфрейм. Другие таймфреймы им доступны как-то выборочно (то правильные данные, то нет).

 
Scriptong:

При запросе данных с другого таймфрейма (iTime, iHigh, iOpen, iClose, iLow, iVolume) необходимо проверять возникновение ошибки 4066. Если возникла, то подождать обновления данных (если индикатор, то на другом тике, т.к. Sleep не работает) и повторить запрос. Не использовать полученные данные, пока возникает ошибка 4066.

В режиме визуализации же у индикаторов "птичьи права". Без проблем им доступен только текущий таймфрейм. Другие таймфреймы им доступны как-то выборочно (то правильные данные, то нет).


Проблема с другими таймфреймами решается довольно легко (я про тестер и визуализатор). Но опять же про тестер и визуализатор - есть несколько подводных камней
 
Vinin:

Проблема с другими таймфреймами решается довольно легко (я про тестер и визуализатор). Но опять же про тестер и визуализатор - есть несколько подводных камней
Это понятно - можно организовать передачу данных индикатору от советника. А вот чтобы сделать самостоятельный индикатор, надо читать данные hst-файла напрямую и соотносить их с текущим в тестере временем - нетривиальная задача, которая при онлайн работе индикатора будет только мешать.
 
Scriptong:
Это понятно - можно организовать передачу данных индикатору от советника. А вот чтобы сделать самостоятельный индикатор, надо читать данные hst-файла напрямую и соотносить их с текущим в тестере временем - нетривиальная задача, которая при онлайн работе индикатора будет только мешать.

Зачем так сложно?
 
На реале и демо особых проблем нет. А в визуализаторе нужна просто синхронизация. И не надо забывать что необходимо явно вызывать данные с другого таймфрейма. Например обращение к цене открытия, закрытия или обьему. Даже обращение ко времени другого таймфрейма помогает
 

Раньше, как-то таквя проблема не возникала, обращалась к другому таймфрейму и все работала, а сейчас этот индикатор работает только на одном таймфрейме, в одном окне выводит два графика MACD с разными настройками.

Файлы:
 
Vinin:

Может лучше использовать нормальный MTF_MACD
Нет, этот вариант не проходит, мне нужно сравнивать именно два графика в одном окне с текущего и старшегоТФ. Надо как-то довести до ума этот индикатор, буду признательна, если кто поможет.
 
Angela:
Нет, этот вариант не проходит, мне нужно сравнивать именно два графика в одном окне с текущего и старшегоТФ. Надо как-то довести до ума этот индикатор, буду признательна, если кто поможет.

Сигнальные линии тоже должны браться с другого таймфрейма?
 
Vinin:

Сигнальные линии тоже должны браться с другого таймфрейма?

Да,тоже, и с ними проблем больше, они какие-то искаженные передаются.
Причина обращения: