FXTAA English version

Скользящая средняя по другому индикатору в MT4

Сгладить осциллятор скользящей средней — операция в два клика, если знать, что означает каждый пункт списка «Применить к». Почти вся путаница происходит из одного неудачно названного пункта.

Обновлено: 2026-09-22

По умолчанию скользящая считается по цене. MT4 умеет считать её и по выходу другого индикатора — так получают сигнальную линию на RSI, сглаженный CCI или среднее от ATR.

Порядок действий

  1. Сначала повесьте базовый индикатор — например, RSI. Он откроется в отдельном подокне.
  2. Из «Навигатора» перетащите Moving Average в это подокно, а не на ценовой график. Промах мимо окна — самая частая ошибка, и предупреждения не будет.
  3. В открывшемся диалоге перейдите на вкладку «Параметры» и найдите внизу «Применить к».
  4. Выберите «Данные предыдущего индикатора».

Теперь скользящая рисуется внутри окна RSI и сглаживает RSI, а не цену.

Чем отличаются два индикаторных пункта

В списке есть и «Данные первого индикатора», и «Данные предыдущего индикатора». Это не синонимы, и разница проявляется, как только в подокне оказывается больше двух индикаторов.

ПунктСсылается на
Данные первого индикатораИндикатор, добавленный в подокно первым
Данные предыдущего индикатораИндикатор, добавленный непосредственно перед этим

С RSI и одной скользящей обе настройки дают одинаковый результат. Но добавьте вторую скользящую, желая сгладить первую, выберите «данные первого» — и молча получите ещё одно среднее от сырого RSI. Две линии, выглядящие правдоподобно и означающие не то, что вы задумали.

Порядок позиционный, а не по имени. Удалите базовый индикатор и добавьте заново — он станет в подокне *последним*, и все ссылки начнут указывать не туда. После любого удаления пересобирайте всю конструкцию.

То же самое на MQL4

Программно есть два пути. iMAOnArray усредняет любой массив, который вы заполнили сами, — это гибкий вариант:

double rsiBuf[];
ArrayResize(rsiBuf, 200);
ArraySetAsSeries(rsiBuf, true);

for(int i = 0; i < 200; i++)
   rsiBuf[i] = iRSI(NULL, 0, 14, PRICE_CLOSE, i);

// сглаживание RSI по 9 периодам, текущий бар
double rsiSmoothed = iMAOnArray(rsiBuf, 0, 9, 0, MODE_SMA, 0);

Для тех немногих встроенных индикаторов, у которых есть параметр applied_price, существует и путь через константы 0–6, но iMAOnArray понятнее и работает в том числе с пользовательскими индикаторами.

Где это действительно полезно

Цена каждого слоя

Каждая ступень сглаживания добавляет запаздывание. RSI(14) уже запаздывает; среднее от него по 9 периодам запаздывает сильнее, и связка легко оказывается медленнее обычной скользящей по цене — при этом её гораздо труднее понимать.

Прежде чем добавлять слой, проверьте, не даст ли того же эффекта больший период базового индикатора: одна движущаяся часть вместо двух. Обычно даёт.