SW — Синусоида / трендовый осциллятор (Sine Wave)

Синусоида (Sine Wave, SW) — осцилляторный индикатор, который отображает циклическое (волнообразное) поведение цены, имитируя синусоидальную кривую, выделяющую фазы рынка: бычью (положительная полуволна), медвежью (отрицательная полуволна) и переходные фазы. Используется для определения циклов, точек перекупленности/перепроданности, моментов смены тренда и синхронизации входов/выходов по фазе колебаний.
Индикатор Sine Wave разработал американский аналитик Джон Эйлерс (John F. Ehlers) в 1996 году и назвал его «трендовым осциллятором»
Основные характеристики индикатора:
● Помогает идентифицировать возможные точки разворота рынка.
● Позволяет определить текущее положение в цикле.
● Может использоваться для прогнозирования будущих ценовых движений.
Принцип работы:
Рынок в тренде — линии индикатора расходятся и движутся в одном направлении.
Рынок во флэте — линии пересекаются, сигнализируя об отсутствии чёткой тенденции.
Смена тренда — точки пересечения индикатора дают сигналы к развороту.

Индикатор состоит из двух линий:
Sine Wave (синяя линия) — представляет текущее положение в рамках доминирующего рыночного цикла.
Lead Wave (красная линия) — линия «взгляда вперёд», которая предсказывает направление синусоиды.
Что такое синусоидальная волна?
Синусоидальная волна относится к графическому представлению общей функции. Синусоидальная волна имеет характерную форму “S”, где она колеблется выше и ниже 0 периодическим равномерным образом.

Синусоидальная функция является тригонометрической функцией, которая является отображением из множества всех неотрицательных действительных чисел в интервал [-1,1], т. е. синусоидальная функция принимает в качестве входных данных любое неотрицательное действительное число и дает в качестве выходных данных некоторое число между -1 и 1. Синусоидальная функция и синусоидальные волны используются для моделирования периодических явлений и процессов, которые следуют предсказуемым циклическим закономерностям.
Вариация амплитуды
Увеличение амплитуды делает колебания более сильными и увеличивает как максимальную высоту, так и глубину волны. Отрицательная амплитуда создает зеркальное отражение волны вдоль горизонтальной оси. Их можно увидеть на графиках ниже:


Вариация периодичности
Увеличение периодичности делает качели более частыми, что видно на графике ниже:

Формула расчёта индикатора Синусоида (Sine Wave, SW)
Существует несколько вариантов реализации; один из распространённых подходов основан на приведении цены к фазе и последующем вычислении синусоиды через фильтры (в духе индикатора Hilbert Transform или доминирующей циклической компоненты). Приведу упрощённую и часто цитируемую версию, использующую экспоненциальные сглаживания и вычисление фазы:
Обозначения:
— Price_t — цена (обычно средняя (High+Low)/2 или Close) в момент t
— ESA_t — экспоненциально сглажённая цена (Exponential Smoothing Average)
— D_t — детрендированная составляющая (detrended price)
— Q_t, I_t — квадратно-фазовые компоненты (в подходах с Hilbert Transform)
— Phase_t — фаза
— Sine_t — значение синусоиды
Пример упрощённой последовательности (приблизительный алгоритм, адаптированный из практических реализаций):
1) ESA (экспоненциальное сглаживание):
ESA_t = α * Price_t + (1 — α) * ESA_{t-1}
где: α = 2 / (N + 1), N — период сглаживания.
2) Detrender (удаление медленной составляющей):
D_t = ESA_t — ESA_{t-k}
где: k — лаг, соответствующий половине предполагаемого цикла (например, k ≈ N/2).
3) Вычисление компонентов I и Q (примерно):
I_t = D_{t-1}
Q_t = (D_t — D_{t-2}) / 2 (приближённый квадратно-фазовый сдвиг)
4) Нормализация и вычисление фазы:
Phase_t = arctan2(Q_t, I_t) (в радианах)
можно перевести в диапазон [0, 2π] и сгладить.
5) Синусоида:
Sine_t = sin(Phase_t)
Замечания:
— Конкретные реализации Sine Wave в торговых платформах (например, в MetaTrader, TradeStation, TradingView) часто используют модифицированные Hilbert Transform фильтры (см. «Sine Wave» / «InPhase/Quadrature» из индикаторов John Ehlers) с набором специальных коэффициентов и дополнительных шагов (фазовая корректировка, сглаживание, обработка разрывов фазы). В таких реализациях формулы для I_t и Q_t становятся более сложными (включают взвешенные суммы с несколькими лагами), а сам индикатор чаще возвращает и InPhase (I), Quadrature (Q), Phase и Sine.
Более упрощенный вариант расчета:
1) Определение доминирующего цикла с помощью спектрального анализа или другого метода выявления цикличности.
2) Применение функции синуса для моделирования выявленного цикла:
SineWave(t) = A * sin(2π * t / Length + φ)
где:
A — амплитуда (высота волны)
t — текущее время или бар
Length — длина цикла
φ — фазовый сдвиг для выравнивания синусоиды с фактическим ценовым циклом
3) Дополнительно может рассчитываться индикатор лида (Lead), который опережает основную синусоиду на четверть цикла:
Lead(t) = A * sin(2π * t / Length + φ + π/2)
Более простой расчет
1) Рассчитать MACD:
MACD = EMA(Close, Fast) — EMA(Close, Slow)
Signal = EMA(MACD, Signal)
где Fast, Slow и Signal — обычно 23, 50 и 10 соответственно.
2) Вычислить стохастический осциллятор на основе MACD:
Stoch_K = 100 * ((MACD — Lowest(MACD, Length)) / (Highest(MACD, Length) — Lowest(MACD, Length)))
Stoch_D = EMA(Stoch_K, 3)
3) Повторить стохастический расчет для получения STC:
STC = 100 * ((Stoch_D — Lowest(Stoch_D, Length)) / (Highest(Stoch_D, Length) — Lowest(Stoch_D, Length)))
Примечания:
— В разных реализациях используются SMA или EMA для сглаживания, порядок и количество стохастических проходов могут отличаться; параметры (fast/slow/cycle/smoothing) настраиваются практикой.
— При делении нужно учитывать нулевой знаменатель (если максимум == минимум) — в таком случае обычно берут предыдущее значение или 0/50 по соглашению.
— Реальные реализации (например в торговых платформах) могут включать сигнальную линию и дополнительные проверки для избежания ложных сигналов.
Использование в торговле осциллятора Sine Wave, SW
Сигналы индикатора:
● Потенциальная покупка, когда линия синусоиды достигает минимума и начинает разворачиваться вверх
● Потенциальная продажа, когда линия достигает максимума и начинает разворачиваться вниз


















