Сглаженное скользящее среднее (SMMA): формулы расчета, настройка в терминалах и фильтрация рыночного шума
Оглавление
- Терминология и происхождение: почему у одного индикатора четыре названия
- Как определять рыночную тенденцию по наклону линии
- Торговые сетапы и графические комбинации
- Пересечение медленной и быстрой средних
- Внутреннее устройство индикатора Alligator
- Рекомендуемые параметры по рынкам и стилям торговли
- Математический базис: пошаговый расчет первых 6 баров
- Начальная точка расчета (Seed Value)
- Числовой пример: расчет пятипериодной средней (N=5)
- Формула пересчета: как получить SMMA через обычную EMA
- Расчет риска и объема позиции при отбое от динамического уровня
- Ограничения индикатора и работа в неблагоприятных фазах рынка
- Настройка в торговом софте и готовые скрипты
- Сравнение функционала платформ
- Готовые фрагменты кода для автоматизации
- Чек-лист проверки торгового сетапа перед входом
- План действий: пошаговое внедрение индикатора с нуля
- Часто задаваемые вопросы (FAQ)
Представьте ночную автомагистраль: фары отдельных автомобилей подпрыгивают на дорожных выбоинах и слепят резкими вспышками — это рыночный шум. Кадр с короткой выдержкой зафиксирует хаотичные разрывы света. Однако объектив на сверхдлинной экспозиции сплавит дорожную суету в монолитную световую полосу — магистральный вектор шоссе.
Индикатор SMMA работает по принципу такой сверхдлинной выдержки: он нивелирует кратковременные всплески котировок и показывает устойчивое русло рыночного тренда.
Сглаженное скользящее среднее (Smoothed Moving Average, SMMA) — это трендовый алгоритм, сохраняющий в расчете весь исторический массив котировок с плавным затуханием их веса. В отличие от простой скользящей (SMA), инструмент не выбрасывает старые бары при смещении расчетного окна. В отличие от экспоненциальной средней (EMA), алгоритм не реагирует изломами на единичные внутрисессионные всплески цен.
Сравнение базовых скользящих средних
| Критерий оценки | Простая скользящая (SMA) | Экспоненциальная скользящая (EMA) | Сглаженная скользящая (SMMA / RMA) |
|---|---|---|---|
| Глубина памяти | Ограничена окном N (старый бар стирается) | Охватывает всю историю с быстрым убыванием весов | Удерживает бесконечный ряд с высокой инерцией |
| Реакция на ценовой импульс | Умеренная, ступенчатая | Мгновенная, высокочувствительная | Замедленная, плавная, помехоустойчивая |
| Поведение в боковике | Среднее число ложных пробоев | Высокая плотность паразитных пересечений | Максимальное отсечение ложных сигналов |
| Тактическая роль | Опорные среднесрочные уровни | Скальпинг, дейтрейдинг, вход на откатах | Позиционный тренд-фильтр, свинг-трейдинг |
Терминология и происхождение: почему у одного индикатора четыре названия
В торговых терминалах и справочной литературе один и тот же математический алгоритм встречается под разными обозначениями:
- SMMA (Smoothed Moving Average) — стандартная маркировка в терминалах MetaTrader 4 и 5.
- RMA (Rolling Moving Average) — системное имя функции в платформе TradingView и скриптовом языке Pine Script.
- SSMA (Smoothed Simple Moving Average) — обозначение в академических библиотеках и средах алготрейдинга (включая платформу OsEngine).
- Wilder’s MA (Скользящая средняя Уайлдера) — исторический первоисточник. Технический аналитик Джон Уэллс Уайлдер-младший разработал эту рекуррентную модель в 1978 году как базовый модуль сглаживания для осцилляторов RSI (Relative Strength Index) и ATR (Average True Range).
В осцилляторе RSI с классическим периодом 14 расчет приращений цены выполняет именно 14-периодная SMMA.
Алгоритм часто называют «бесконечной памятью рынка». При расчете каждого нового значения цена предыдущего бара умножается на понижающий коэффициент. Котировки годичной давности уменьшают свое влияние до долей процента, но формально не вычитаются из формулы до нуля, что обеспечивает непрерывность линии.
Как определять рыночную тенденцию по наклону линии
Траектория кривой отражает баланс сил между покупателями и продавцами через геометрию наклона и характер движения цены:
- Восходящий наклон (угол атаки более +15°): Доминирование покупателей. Рассматриваются сделки исключительно в сторону покупок (Long).
- Нисходящий наклон (угол атаки менее -15°): Контроль продавцов. Торговые решения принимаются в сторону продаж (Short).
- Горизонтальное положение (диапазон от -15° до +15°): Рынок перешел в консолидацию. Трендовые сигналы на пересечение блокируются.
В направленных движениях сглаженная средняя выступает динамической границей поддержки или сопротивления. Откат цены к этой линии позволяет войти в позицию по направлению импульса с контролируемым риском.
[Логика валидации истинного пробоя]
ЕСЛИ цена коснулась линии SMMA исключительно тенью (фитилем) свечи:
→ Сигнал ЛОЖНЫЙ: позиция не открывается, удерживается текущий режим наблюдения.
ЕСЛИ свеча закрылась (Close) телом ВЫШЕ линии
И угол наклона SMMA превышает +15°:
→ Сигнал ИСТИННЫЙ: подтверждена точка входа в направлении тренда.
Торговые сетапы и графические комбинации
Пересечение медленной и быстрой средних
Для определения долгосрочных тенденций используют связку быстрой SMMA 20 и медленной SMMA 50:
- Бычий сигнал: Быстрая SMMA 20 пересекает медленную SMMA 50 снизу вверх, подтверждая развитие среднесрочного восходящего импульса.
- Медвежий сигнал: Быстрая SMMA 20 пересекает медленную SMMA 50 сверху вниз, указывая на смену баланса в пользу продавцов.
Высокая степень сглаживания устраняет ложные пересечения, характерные для стандартных скользящих средних на участках боковой волатильности.
Внутреннее устройство индикатора Alligator
Классическая торговая система Alligator Билла Вильямса целиком построена на алгоритме сглаженной средней. Индикатор объединяет три линии SMMA, рассчитанные по медианной цене (High+Low)/2, со смещением (Shift) в будущее:
- Синяя линия («Челюсти»): SMMA 13 со сдвигом на 8 баров вперед.
- Красная линия («Зубы»): SMMA 8 со сдвигом на 5 баров вперед.
- Зеленая линия («Губы»): SMMA 5 со сдвигом на 3 бара вперед.
Смещение линий вперед компенсирует запаздывание формулы, формируя рабочий опережающий коридор.
Рекомендуемые параметры по рынкам и стилям торговли
| Торговый сегмент | Рабочий интервал | Оптимальный период | Назначение в торговой системе |
|---|---|---|---|
| Криптовалюты (BTC, ETH) | H1 – H4 | SMMA 50 или SMMA 89 | Отсечение ликвидационных сквизов и аномальных теней |
| Фондовые акции (РФ / США) | D1 | SMMA 20 и SMMA 200 | Удержание позиций по тренду, игнорирование микрокоррекций |
| Валютный рынок (Forex) | M15 – H1 | SMMA 21 и SMMA 55 | Фильтрация межбанковского шума внутри сессий |
| Скальпинг (Любые активы) | M1 – M5 | SMMA 100 или SMMA 200 | Фильтр старшего порядка: запрет сделок против наклона кривой |
Математический базис: пошаговый расчет первых 6 баров
Рекуррентная формула расчета сглаженного скользящего среднего выглядит следующим образом:
SMMAi = (SMMAi-1 · (N - 1) + Closei) / N
Где:
- SMMAi — расчетное значение на текущем баре.
- SMMAi-1 — значение индикатора на предыдущем баре.
- Closei — цена закрытия текущего бара.
- N — выбранный период усреднения.
Начальная точка расчета (Seed Value)
Для запуска рекурсии алгоритму требуется стартовое опорное число. Первая точка ряда вычисляется как простое среднее арифметическое (SMA) за стартовые N баров:
SMMA1 = (∑ Closek) / N, где k от 1 до N
Нюанс терминалов: Если один торговый терминал загрузил в память 150 баров истории, а другой — 3 000 баров, расчетные значения SMMA на текущей свече будут немного отличаться. Чем длиннее доступный массив исторических котировок, тем выше сходимость рекуррентного ряда.
Числовой пример: расчет пятипериодной средней (N=5)
Исходный ряд цен закрытия (в рублях): 10, 12, 11, 13, 14, после чего формируется импульсная свеча с резким скачком до 20 рублей.
Шаг 1. Расчет стартового значения (SMA за первые 5 свечей):
SMMA5 = (10 + 12 + 11 + 13 + 14) / 5 = 60 / 5 = 12.00 руб.
Шаг 2. Расчет 6-го бара при скачке котировки до 20 рублей (N=5):
SMMA6 = (12.00 · (5 - 1) + 20) / 5 = (12.00 · 4 + 20) / 5 = (48.00 + 20) / 5 = 68.00 / 5 = 13.60 руб.
Практический вывод: Импульсный ценовой скачок на +42% (с 14 до 20 рублей) сместил линию индикатора всего на 1.60 рубля (с 12.00 до 13.60). Предыдущая накопленная история получила 80% веса в формуле, а новый всплеск — лишь 20%. Это математически подтверждает устойчивость алгоритма к ценовым манипуляциям.
Формула пересчета: как получить SMMA через обычную EMA
В ряде мобильных приложений брокеров сглаженная скользящая средняя отсутствует в списке базовых индикаторов — пользователю доступны только SMA и EMA.
Алгоритмы SMMA и EMA связаны через коэффициент весового затухания α (альфа):
Затухание в сглаженной средней: αSMMA = 1 / NSMMA
Затухание в экспоненциальной средней: αEMA = 2 / (NEMA + 1)
Приравняем эти коэффициенты для поиска эквивалента:
1 / NSMMA = 2 / (NEMA + 1)
NEMA + 1 = 2 · NSMMA
NEMA = 2 · NSMMA - 1
Таблица быстрой конвертации периодов
| Период SMMA (NSMMA) | Расчет по формуле (2N−1) | Эквивалентный период EMA (NEMA) | Назначение в торговой стратегии |
|---|---|---|---|
| SMMA 10 | 2 · 10 - 1 | EMA 19 | Динамический ориентир внутри дня |
| SMMA 20 | 2 · 20 - 1 | EMA 39 | Граница локального трендового канала |
| SMMA 50 | 2 · 50 - 1 | EMA 99 | Базовый среднесрочный баланс |
| SMMA 100 | 2 · 100 - 1 | EMA 199 | Опорный трендовый барьер |
| SMMA 200 | 2 · 200 - 1 | EMA 399 | Долгосрочный макротренд |
Установив в торговом приложении индикатор EMA с периодом 99, вы получаете динамическую кривую, идентичную классической SMMA 50.
Расчет риска и объема позиции при отбое от динамического уровня
Вход в рынок при тесте скользящей средней без расчета риска приводит к систематическим потерям. Защитный стоп-лосс выставляется с буфером на базе волатильности (1.0 × ATR14), а объем сделки определяется допустимой долей риска от депозита.
Формулы расчета защитных параметров
Уровень Stop Loss для длинной позиции (Long):
Stop Loss = SMMA - 1.0 · ATR14
Безопасный объем сделки (число акций/контрактов):
Position Size = (Капитал · Риск в долях) / (Цена входа - Stop Loss)
Пример расчета параметров ордера
Торговый капитал = 500 000 руб.
Допустимый риск на одну сделку = 1.0% (5 000 руб.)
Цена акции в момент отбоя от линии = 250 руб.
Значение SMMA 50 на баре входа = 248 руб.
Текущая волатильность ATR14 = 4.0 руб.
1. Расчет уровня Stop Loss:
Stop Loss = 248.0 - 1.0 · 4.0 = 244.0 руб.
Дистанция риска на одну акцию: 250.0 - 244.0 = 6.0 руб.
2. Расчет безопасного объема позиции:
Position Size = (500 000 · 0.01) / (250.0 - 244.0) = 5 000 / 6.0 ≈ 833.33 шт.
Размер позиции округляется в меньшую сторону до стандартного биржевого лота (кратно 10 шт.) — 830 акций на сумму 207 500 руб. При срабатывании стоп-лосса на отметке 244.0 руб. фактический убыток составит 830 · 6.0 = 4 980 руб., что строго укладывается в запланированный лимит риска в 1%.
Ограничения индикатора и работа в неблагоприятных фазах рынка
Инерционность формулы в отдельных рыночных ситуациях приводит к запаздыванию реакции.
1. Ценовые разрывы (Gaps) на открытии биржевой сессии
При утреннем гэпе на 2.5-5.0% сглаженная средняя продолжает движение по прежней траектории. Индикатору требуется от 6 до 12 новых свечей, чтобы адаптироваться к новому ценовому диапазону. В это время линия указывает ложные динамические уровни.
Решение: При гэпе более 1.5% воздержитесь от сделок по сигналам индикатора в первые 45–60 минут сессии, пока расчетный массив не впитает новые данные.
2. Импульсные V-образные развороты
Когда после затяжного падения котировки выкупаются резким вертикальным импульсом без предварительного накопления, сглаженная средняя меняет направление с ощутимой задержкой. К моменту разворота линии актив нередко проходит до 40-60% всего движения.
Решение: Если рынок формирует новостной импульс с шагом свечей более 3 × ATR, избегайте покупок сразу по факту разворота наклона средней. Дождитесь первой локальной консолидации или вторичного теста пробитого уровня.
3. Боковое движение в узком диапазоне (Whipsaw)
В фазе флэта цена многократно пересекает горизонтально расположенную среднюю. Торговля каждым пересечением без дополнительных условий ведет к череде ложных входов.
Решение: Торгуйте только при выраженном угле наклона линии (не менее ±15°). Дополнительно требуйте закрепления цены за линией на величину не менее 1.0 × ATR14 и подтверждения всплеском торгового объема на 30% выше среднего значения.
💡 Заметки практика: статистика отсечения ложных входов во флэте
При тестировании средневолатильных активов во время четырехмесячной консолидации индикатор EMA 50 генерирует до 8 ложных сигналов на разворот, чутко реагируя на кратковременные импульсы внутри коридора. В этот же период эквивалентная SMMA 50 сохраняет стабильный горизонтально-нейтральный вектор и не дает ложных пересечений. Использование SMMA в качестве жесткого тренд-фильтра («вход только при подтверждении наклона кривой») позволяет устранить до 70–75% убыточных сделок в фазе «рыночного распила».
Настройка в торговом софте и готовые скрипты
Сравнение функционала платформ
| Программная среда | Обозначение в меню | Преимущества платформы | Ограничения и сложности |
|---|---|---|---|
| MetaTrader 4 / 5 | Метод Smoothed в индикаторе MA | Встроен в ядро, минимальная нагрузка на процессор, прямой вызов в MQL | Нельзя изменить коэффициенты затухания без переписывания исходного кода |
| TradingView | Smoothed Moving Average или ta.rma | Быстрое добавление, встроенная поддержка в скриптах Pine Script v5 | В стандартном поиске часто скрыт внутри пользовательских скриптов |
| Т-Инвестиции / Мобильные брокеры | Напрямую отсутствует (только SMA и EMA) | Доступ со смартфона в 2 клика, визуальная чистота графика | Требуется ручной пересчет периода в формат EMA по формуле 2N-1 |
| OsEngine (C#) | Модуль Ssma.cs | Открытый код, прямые шлюзы к биржам, удобство для создания торговых роботов | Требует навыков программирования и компиляции проектов |
Готовые фрагменты кода для автоматизации
1. Индикатор для TradingView (Pine Script v6)В среде Pine Script встроенный метод ta.rma() вычисляет сглаженную среднюю Уайлдера:
//@version=6
indicator('Custom SMMA / RMA Trend Line', overlay = true)
// Входные параметры
smma_length = input.int(50, minval = 1, title = 'Период SMMA')
smma_source = input.source(close, title = 'Источник цены')
// Расчет через нативную функцию RMA (Wilder's MA)
smma_value = ta.rma(smma_source, smma_length)
// Отрисовка линии на графике
plot(smma_value, color = color.orange, linewidth = 2, title = 'Линия SMMA')
2. Интеграция индикатора в платформу OsEngine (C#)
Подключение сглаженной средней в коде торгового алгоритма:
using OsEngine.Entity;
using OsEngine.Indicators;
// Создание экземпляра индикатора в структуре торгового робота
Aindicator _ssma = IndicatorsFactory.CreateIndicatorByName("Ssma", name + "Ssma", false);
// Установка рабочего расчетного периода
_ssma.ParametersAsString[0].Value = "50";
_ssma.Save();
Чек-лист проверки торгового сетапа перед входом
Перед открытием торгового ордера проверьте рыночную ситуацию по 5 критериям:
[ ] 1. Старший тренд: Наклон контрольной SMMA 50 или 200 на таймфреймах H4–D1 совпадает с направлением планируемой сделки.
[ ] 2. Угол атаки: Рабочая средняя имеет четкий наклон (более ±15°) и не находится в горизонтальном положении.
[ ] 3. Закрытие бара: Сигнальная свеча зафиксировалась за уровнем линии ценой закрытия (Close), а не просто коснулась ее тенью.
[ ] 4. Подтверждение объемом: Торговый объем (Volume) на сигнальной свече превышает среднее значение за 20 баров минимум на 30%.
[ ] 5. Расчет риска: Защитный стоп-лосс выставлен с буфером 1.0 * ATR14 от линии средней, а риск на сделку не превышает 1.0–1.5% депозита.
План действий: пошаговое внедрение индикатора с нуля
- Шаг 1. Настройка рабочей среды. Откройте график в терминале. Если доступен режим Smoothed (MT5) или функция ta.rma (TradingView), задайте период 50. При работе в мобильном терминале без SMMA наложите индикатор EMA с периодом 99.
- Шаг 2. Подключение фильтров. Добавьте осциллятор волатильности ATR с периодом 14 и гистограмму торговых объемов с 20-периодной скользящей средней.
- Шаг 3. Отработка на симуляторе или демо-счете. Проведите не менее 30 тренировочных сделок, исключая входы при горизонтальном положении линии и пробое одними тенями свечей.
- Шаг 4. Расчет объема перед входом. Используйте формулу мани-менеджмента для пересчета дистанции до защитного стоп-лосса в точное количество акций или лотов.
- Шаг 5. Работа на реальном рынке. Начинайте с минимального объема на старших таймфреймах (H1, H4, D1), где фильтрация рыночного шума работает наиболее стабильно.
Часто задаваемые вопросы (FAQ)
В чем разница между SMMA, RMA и SSMA?
Это синонимы одного и того же алгоритма сглаживания. В MetaTrader принято название Smoothed Moving Average (SMMA), в TradingView — Rolling Moving Average (RMA), а в отечественных библиотеках алготрейдинга — Smoothed Simple Moving Average (SSMA).
Почему SMMA реагирует на цену медленнее, чем EMA?
Дело в математических весах формулы. В SMMA новая свеча получает вес 1/N, тогда как в EMA этот коэффициент равен 2/(N + 1). Сглаженная средняя сознательно жертвует темпом реакции ради фильтрации ложных импульсов.
Можно ли применять индикатор в скальпинге на минутных барах?
Для подачи прямых сигналов на вход на таймфреймах M1–M5 инструмент не подходит из-за инерционности. Однако медленная SMMA 100 или 200 на младших графиках эффективно работает как фильтр старшего тренда: сделки открываются только в сторону наклона кривой.
Как настроить SMMA в терминале, где есть только обычные средние?
Используйте формулу пересчета периода: NEMA = 2 · NSMMA - 1. Для эмуляции SMMA 50 достаточно наложить индикатор EMA с расчетным периодом 99.
Какой таймфрейм считается наиболее эффективным для работы с SMMA?
Наиболее устойчивые результаты инструмент показывает на интервалах H1, H4 и D1. На этих таймфреймах алгоритм нивелирует внутрисессионный шум и сохраняет надежные ориентиры динамической поддержки и сопротивления.
