Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Отслеживай все платежи в профиле. Это просто!
Eugene Myzrov
652
Eugene Myzrov 2015.11.24 10:34 
Как известно, чтобы индикатор мог производить расчеты на значениях другого индикатора, необходимо использовать короткую форму вызова функции OnCalculate() вида:

//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const int begin,
                const double &price[])

Тогда при перетаскивании такого индикатора из окна "Навигатора" на окно базового индикатора появляется возможность выбора для расчетов данных первого или предыдущего индикатора, расположенных в данном окне:

Moving Average


Однако, в документации по MQL5 нет специальных требований к самому пользовательскому индикатору, на данных которого будут производиться расчеты накладываемого индикатора.
Но при попытке наложить классический трендовый индикатор MA на график пользовательского индикатора "Custom Indicator" получаю вот такую картинку:

MT5 Apply Indicator MA to Custom Indicator


Индикатор MA (желтая линия) показывает значения 1.#INF00 вместо ожидаемых средних значений пользовательского индикатора и только на нескольких последних барах показывает сколь-нибудь значимые значения MA.

Вопрос. Существуют ли специальные требования к написанию пользовательского индикатора, чтобы на него можно было бы наложить другой индикатор?
Или здесь дело в другом?
Andrey Khatimlianskii
56121
Andrey Khatimlianskii 2015.11.26 01:25  

А кастумные данные в 0-м буфере?

Я не помню, должна ли работать эта фича, но если должна - то только по 0-му буферу. 

Eugene Myzrov
652
Eugene Myzrov 2015.11.30 09:38  
Andrey KhatimlianskiiА кастумные данные в 0-м буфере? Я не помню, должна ли работать эта фича, но если должна - то только по 0-му буферу. 

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

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