Существуют ли специальные требования к написанию пользовательского индикатора, чтобы на него можно было бы наложить другой индикатор?

 
Как известно, чтобы индикатор мог производить расчеты на значениях другого индикатора, необходимо использовать короткую форму вызова функции 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.

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

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

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

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

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

Причина обращения: