как вычислять скользящее среднее от MACD в советнике?

 

Подскажите, кто знает, как вычислять скользящее среднее от MACD в советнике?

В индикаторе я использовал iMAOnArray(), но в Советнике он глючит - в том смысле, что дает не тот результат, а как подругому, я не знаю.

Вот кусок из индикатора:

MacdBu=iMACD(NULL,0,FastEMA,SlowEMA,SignalSMA,PRICE_MEDIAN,MODE_EMA,0);
MacdMa=(MacdBu-iMAOnArray(MacdBu,Bars,SignalSMA,0,MODE_EMA,0));

А мне нужно получить тот же параметр в Советнике

 
Если я не ошибаюсь, сигнальная линия на MACD это и есть МА от MACD. И доступ к ее значениям такой: MacdMa = iMACD ( NULL, 0, FastEMA, SlowEMA, SignalEMA, PRICE_MEDIAN, MODE_SIGNAL, Shift );
 
konda писал(а) >>
Если я не ошибаюсь, сигнальная линия на MACD это и есть МА от MACD. И доступ к ее значениям такой: MacdMa = iMACD ( NULL, 0, FastEMA, SlowEMA, SignalEMA, PRICE_MEDIAN, MODE_SIGNAL, Shift );

Нет. iMACD это и есть функция MACD, а мне нужна средняя от нее, т.е. от iMACD.

 
Посмотрите в код индикатора MACD . Как там вычисляется сигнальная линия.
 
А функция iMACD( ) может возвращать два значения, в зависимости от значения предпоследней переменной : MACD = iMACD (NULL, 0, FastEMA, SlowEMA, SignalEMA, PRICE_WEIGHTED, MODE_MAIN, Shift); MACD_MA = iMACD (NULL, 0, FastEMA, SlowEMA, SignalEMA, PRICE_WEIGHTED, MODE_SIGNAL, Shift); Константа Значение Описание MODE_MAIN 0 Основная линия MODE_SIGNAL 1 Сигнальная линия