К основному содержанию
ForexNews24
Momentum

Индикатор ROC: настройки и сигналы

Rate of Change

ROC — процентное изменение цены за N баров, самый прямой способ измерить скорость движения рынка.

Как индикатор выглядит на реальном графике

Цена1.13191.15121.17041.18971.2090ROC(12), %-3.4%-1.5%2.3%4.2%0%
Цена закрытияROC
Самый прямолинейный индикатор импульса: это буквально процентное изменение цены за 12 баров. Пересечение нуля означает, что цена вернулась к уровню двенадцатибарной давности, а амплитуда колебаний прямо показывает, насколько быстро движется рынок.

Данные: EUR/USD, дневные бары, 2025-06-16 — 2026-07-20. Индикатор рассчитан по 400 барам, на графике показаны последние 180. Источник котировок: Binance Spot REST API (api.binance.com/api/v3/klines).

Эффективность по режимам рынка
РежимОценка
Трендовый рынок45
Флэт39
Высокая волатильность49
Низкая волатильность36

Что индикатор измеряет на самом деле

В отличие от большинства индикаторов ROC ничего не сглаживает и не нормирует по волатильности: он просто сравнивает текущую цену с ценой N баров назад. Из-за перевода в проценты значения сопоставимы между инструментами с разной ценой — редкое свойство среди осцилляторов.

Пересечение нулевой линии означает буквально то, что цена вернулась к уровню N-барной давности. Это делает индикатор удобным для сравнения относительной силы: если два актива за один период выросли на 3% и на 8%, второй демонстрирует более сильный импульс независимо от абсолютных цен.

Обратная сторона отсутствия сглаживания — чувствительность к базе сравнения. Если N баров назад пришёлся аномальный выброс, ROC покажет резкое изменение сегодня, хотя сегодня на рынке ничего не произошло. Эффект тот же, что и выпадение бара из окна SMA, но выраженный сильнее.

Формула

ROC = 100 × (Close − Close[N периодов назад]) / Close[N периодов назад]

Разность текущей цены и цены N баров назад, делённая на цену N баров назад и умноженная на 100. Никакого сглаживания в формуле нет — отсюда и высокая чувствительность, и полная прозрачность значения.

Стандартные настройки

12
Стандартный период
9
Период для свинг-трейдинга
0%
Уровень равновесия
Стандартные параметры
ПараметрЗначение
Стандартный период12
Период для свинг-трейдинга9
Уровень равновесия0%

Период 12 распространён для дневных баров как приблизительный аналог двух недель. Более длинные периоды (25, 50) применяют для оценки среднесрочного импульса и сравнения относительной силы разных активов.

Код реализации (Python)

roc.py
def roc(close, period=12):
return 100 * (close - close.shift(period)) / close.shift(period)

Когда индикатор перестаёт работать

Ограничения
  • Значение полностью зависит от одной точки в прошлом — цены N баров назад, что делает индикатор уязвимым к выбросам в базе сравнения.
  • Отсутствие сглаживания даёт заметный шум на малых таймфреймах.
  • Не учитывает путь цены между двумя точками: рост на 5% плавно и рост на 5% через глубокую просадку дадут одинаковое значение.

Типичные ошибки применения

  • Не проверять, что происходило N баров назад. Резкое изменение ROC часто объясняется выбросом в базе, а не сегодняшним движением.
  • Использовать пересечение нуля как самостоятельный сигнал на шумном инструменте — на малых таймфреймах оно происходит постоянно.
  • Путать ROC с процентным изменением за сессию: индикатор всегда сравнивает с точкой N баров назад, а не с открытием дня.
  • Сравнивать значения ROC, посчитанные с разными периодами, как будто они измеряют одно и то же.

Кому и зачем это нужно

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

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

Чем ROC отличается от Momentum?

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

Почему ROC резко изменился без движения цены?

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

Какой период выбрать?

Период должен соответствовать горизонту решений. Для оценки краткосрочного импульса берут 9–12 баров, для среднесрочной относительной силы — 25–50. Смешивать в одной системе сигналы ROC с разными периодами без явного разграничения их ролей не стоит.

Другие индикаторы категории «Momentum»

От исследования — к применению

В продукте Allocation мы реализовали эти алгоритмы с учётом всех нюансов, разобранных на портале.

Узнать про Allocation