Скользящая средняя: формула и пошаговый расчёт SMA и EMA

Обложка статьи «Скользящая средняя: формула и пошаговый расчёт SMA и EMA»: Равные и убывающие веса цен

Простая скользящая средняя: формула SMA и расчёт по шагам

Для периода n формула скользящей средней выглядит так: SMA = (C₁ + C₂ + ... + Cₙ) / n. Здесь C означает выбранную цену свечи. В этом примере используем только закрытия, расположенные от старого к новому. Такую логику описывает справка TradingView по SMA.

Возьмём пять условных цен: 100, 102, 101, 105, 107. Их сумма равна 515, поэтому SMA(5) = 515 / 5 = 103. Каждая цена занимает одну пятую окна. Пятая цена 107 влияет на результат с тем же весом, что и первая 100.

Следующее закрытие равно 105. Теперь окно состоит из 102, 101, 105, 107, 105. Новая сумма: 515 − 100 + 105 = 520. Получаем SMA(5) = 104. Делить на шесть не нужно: период остался равен пяти.

  1. 1

    Сумма окна: 515

    Цены 100, 102, 101, 105, 107

  2. 2

    Убираем 100, добавляем 105

    Новая сумма: 520

  3. 3

    Делим 520 на 5

    SMA шестой свечи: 104

Схема расчёта на условных ценах: из суммы 515 убираем старую цену 100, добавляем новую 105 и делим 520 на пять.

Подпись к схеме: окно сохраняет пять значений; меняется его состав. Источник: собственный расчёт по формуле SMA.

Период измеряется в свечах выбранного таймфрейма. Пять часовых свечей и пять дневных свечей дают разные исходные данные. Выбор длины под торговую задачу разобран отдельно в статье о скользящих средних в трейдинге.

Экспоненциальная скользящая средняя: формула EMA и коэффициент k

EMAₜ = k × Cₜ + (1 − k) × EMAₜ₋₁, где k = 2 / (n + 1). Равнозначная запись удобнее для калькулятора: EMAₜ = EMAₜ₋₁ + k × (Cₜ − EMAₜ₋₁). Обе формы дают один ответ при одинаковых исходных данных. Fidelity описывает рекурсию EMA с начальным значением на основе SMA.

В нашем упражнении n = 5, поэтому k = 2 / 6 = 1/3. Первую EMA ставим на пятой свече и приравниваем к SMA первых пяти закрытий: EMA₅ = 103. Это явно выбранное правило начала ряда.

На шестой свече цена равна 105. Разница между ней и предыдущей EMA: 105 − 103 = 2. Берём треть этой разницы и прибавляем к 103: EMA₆ = 103 + 2/3 = 103,666667 с округлением для показа.

  1. 1

    105 − 103 = 2

    Цена минус предыдущая EMA

  2. 2

    2 × 1/3 = 0,666667

    Доля изменения при периоде 5

  3. 3

    103 + 0,666667

    Новая EMA: 103,666667

Схема обновления EMA(5): новая цена 105 отличается от прежней средней 103 на два; треть этой разницы прибавляется к 103.

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

EMA(5) не обрезает историю строго до последних пяти цен. Предыдущее значение уже содержит вклад более старых наблюдений. Число 5 задаёт коэффициент, с которым этот вклад постепенно затухает.

Сквозной пример: считаем SMA(5) и EMA(5) по одной таблице цен

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

СвечаЗакрытиеSMA(5)EMA(5), старт с SMA₅
1100--
2102--
3101--
4105--
5107103,0103,000000
6105104,0103,666667
7108105,2105,111111
8112107,4107,407407
9110108,4108,271605
10114109,8110,181070

Проверка последней строки SMA: (105 + 108 + 112 + 110 + 114) / 5 = 549 / 5 = 109,8. Для EMA возьмите неокруглённое значение девятой строки: 108,271604938... + (114 − 108,271604938...) / 3 = 110,181069959....

Если считать с самого первого закрытия и принять EMA₁ = 100, получится другой ряд. При одинаковом k и последующих ценах разница двух EMA после каждого шага умножается на (1 − k). Для периода 5 это 2/3: расхождение уменьшается, но после одной новой свечи обычно не исчезает.

Риски и ограничения

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

На открытой свече меняется цена закрытия, а вместе с ней может меняться текущее значение индикатора. Для ручной сверки берите завершённые свечи. Особенности пересчёта исторических и текущих баров описаны в модели исполнения Pine Script.

Числа в таблице предназначены для обучения. Материал не является индивидуальной инвестиционной рекомендацией.

Проверка расчёта в TradingView и Pine Script

В TradingView добавьте Simple Moving Average и Exponential Moving Average. Для обеих линий задайте Length = 5, Source = close, Offset = 0. Не сравнивайте основную линию с дополнительной линией сглаживания. Справка по EMA описывает эти параметры.

Для SMA выпишите закрытия пяти завершённых свечей одного инструмента на одной площадке. Сложите их, разделите на пять и сопоставьте результат со значением на последней из выбранных свечей. Сравнение по положению линии на экране менее точно, чем сравнение чисел.

В Pine Script встроенные функции вызываются так:

pine
//@version=6
indicator("SMA and EMA check", overlay = true)
plot(ta.sma(close, 5), "SMA 5", color = color.orange)
plot(ta.ema(close, 5), "EMA 5", color = color.blue)

Этот код использует цены графика. Он не воспроизводит учебные числа 100, 102, 101 и остальные значения таблицы. Чтобы проверить именно учебную EMA с выбранным стартом, удобно перенести расчёт в электронную таблицу.

Запишите закрытия в B2:B11. В C6 введите =AVERAGE(B2:B6) и протяните вниз: получится SMA. В D6 поставьте =C6, в D7 - =D6+(2/(5+1))*(B7-D6) и протяните до D11. В русской локализации функция среднего может называться СРЗНАЧ. Ограничьте число отображаемых знаков, сохранив полную точность самих ячеек.

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

Проверка учебного расчёта на шестой свече

Подойдёт, если

  • SMA: сумма 520, делитель 5, результат 104
  • EMA: предыдущая 103, новая цена 105, k = 1/3
  • Сравнение идёт по одной завершённой свече

Не подойдёт, если

  • Сумму 520 делят на 6 вместо периода 5
  • EMA начинают с нуля без такого правила в расчёте
  • Учебную таблицу сравнивают с другой историей цен

Подпись к сравнению: слева условия воспроизводимого примера, справа причины другого ответа. Источник: собственная проверка формул и входных данных.

WMA и SMMA/RMA: другие веса той же идеи

Для WMA(5) придайте пяти ценам веса 1, 2, 3, 4, 5 от старой к новой и разделите взвешенную сумму на 15. На первых пяти учебных ценах это (100 × 1 + 102 × 2 + 101 × 3 + 105 × 4 + 107 × 5) / 15 = 1562 / 15 = 104,133333. Такой принцип весов приводит Fidelity в описании WMA.

Для сглаживания Уайлдера используют RMAₜ = RMAₜ₋₁ + (Cₜ − RMAₜ₋₁) / n. При старте с SMA₅ = 103 и следующей цене 105 получим RMA₆ = 103 + (105 − 103) / 5 = 103,4. Коэффициент здесь 1/5, у EMA(5) он равен 1/3.

Названия RMA и SMMA часто обозначают эту же рекурсию с начальной SMA. Перед сравнением платформ проверьте обе части: коэффициент и начальное значение. Документация TA-Lib по RMA описывает формулу, старт и используемые названия. Одинаковое сглаживание при разном старте не означает полного совпадения первых значений.

Частые ошибки ручного расчёта

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

Перевернули порядок весов WMA. В нашем примере наибольший вес получает последняя цена 107. Если отдать его первой цене 100, получится другая средняя.

Округлили EMA на каждом шаге. Значение 103,666667 показано с шестью знаками, но внутрь следующей формулы идёт 103 + 2/3. В коротком примере расхождение может быть небольшим, однако оно уже мешает точной проверке.

Заменили отсутствующую EMA нулём. Это отдельное правило старта, которое здесь не используется. До пятой свечи оставьте ячейки пустыми, а затем возьмите рассчитанную SMA.

Сдвинули окно на одну свечу. В SMA десятой свечи входят строки с шестой по десятую включительно. Для проверки обведите эти пять цен перед суммированием.

Ожидают совпадения разных площадок. Даже одинаковое название инструмента не означает тождественную историю закрытий. Сверяйте площадку, тип графика, таймфрейм, дату и время выбранной свечи.

Источники

Частые вопросы

Как рассчитать скользящую среднюю без индикатора?

Для SMA выпишите n последовательных цен закрытия, сложите их и разделите на n. С новой свечой удалите из суммы самую старую цену и добавьте новую. Для EMA заранее выберите начальное значение, вычислите k = 2 / (n + 1), затем последовательно обновляйте среднюю: предыдущая EMA + k × (новая цена − предыдущая EMA). Сохраняйте одинаковый источник цены.

Какая формула расчёта у индикатора EMA?

EMAₜ = k × Cₜ + (1 − k) × EMAₜ₋₁, где Cₜ означает текущую цену, а k = 2 / (n + 1). Для периода 5 коэффициент равен 1/3. В учебном расчёте можно начать с SMA первых пяти цен и применять рекурсию с шестой свечи. При сравнении с готовым индикатором нужно проверить его историю и способ начала ряда.

Почему SMA и EMA одного периода показывают разные числа?

SMA придаёт равные веса ценам внутри окна и исключает цену, которая вышла за его границу. EMA обновляется через предыдущую среднюю; влияние более старых наблюдений затухает постепенно. Поэтому совпадение периода не делает формулы одинаковыми. В учебном ряду на шестой свече SMA(5) равна 104, а EMA(5), начатая с SMA₅ = 103, равна 103,666667.

Чем формула SMMA отличается от EMA?

В распространённом варианте SMMA, также называемом RMA, коэффициент новой цены равен 1/n. У EMA он равен 2 / (n + 1). При периоде 5 это 1/5 и 1/3 соответственно. Если начальное значение обеих средних равно 103, а новая цена 105, следующий результат SMMA составит 103,4, EMA - 103,666667. При сверке программ проверяйте и правило старта.

График TradingView с сигналами Buy и Sell индикатора Midas
Midas multi-индикатор for TradingViewОдин из самых продвинутых индикаторов для трейдинга
  • Сигналы без перерисовки
  • Интерактивный теханализ
  • 7 стратегий на выбор
Midas multi-индикатор for TradingViewСигнал, стоп и 3 цели - прямо на графике
  • Сигнал фиксируется по закрытию свечи
  • Стоп и 3 цели строятся автоматически
  • План сделки виден до входа