Если я не ошибаюсь, сигнальная линия на MACD это и есть МА от MACD. И доступ к ее значениям такой:
MacdMa = iMACD ( NULL, 0, FastEMA, SlowEMA, SignalEMA, PRICE_MEDIAN, MODE_SIGNAL, Shift );
Посмотрите в код индикатора 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 Сигнальная линия
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Подскажите, кто знает, как вычислять скользящее среднее от MACD в советнике?
В индикаторе я использовал iMAOnArray(), но в Советнике он глючит - в том смысле, что дает не тот результат, а как подругому, я не знаю.
Вот кусок из индикатора:
MacdBu=iMACD(NULL,0,FastEMA,SlowEMA,SignalSMA,PRICE_MEDIAN,MODE_EMA,0);
MacdMa=(MacdBu-iMAOnArray(MacdBu,Bars,SignalSMA,0,MODE_EMA,0));
А мне нужно получить тот же параметр в Советнике