Как работать со сложными индикаторами?

Сложный индикатор Metatrader 4 — это пользовательский индикатор форекс, который строится не на основании цены, а на основании показаний другого индикатора MT4.

В торговом терминале MetaTrader такие индикаторы создаются наложением одного индикатора форекс на другой. В MQL для этих целей предназначены функции ...OnArray.

Например для расчета Moving Average на основании показаний индикатора RSI используем:
double rsiBuf[20];
ArraySetAsSeries(rsiBuf,true);
for(i=0;i<20;i++) rsiBuf[i]=iRSI(NULL,0,8,PRICE_CLOSE,i);
double ma1=iMAOnArray(rsiBuf,0,14,0,MODE_SMA,1);

Таким образом можно строить целые цепочки индикаторов  форекс в Metatrader 4. Обратите внимание что значений в буфере должно быть больше чем период следующего индикатора.