Осциллятор расхождения и схождения Артура А. Меррилла: полное руководство
Осциллятор расхождения и схождения (**Divergence and Convergence Oscillator**) Артура А. Меррилла — это индикатор технического анализа, который помогает трейдерам выявлять потенциальные изменения направления тренда на финансовых рынках. Индикатор основывается на сравнении цены актива и его скользящих средних, что позволяет определять моменты, когда тренд ослабевает или, наоборот, набирает силу. Это один из ключевых инструментов для тех, кто хочет понять динамику рынка и прогнозировать развороты трендов.
Основная идея
Идея осциллятора Меррилла заключается в том, чтобы отслеживать **расхождение** и **схождение** между движениями цены и индикаторами, такими как скользящие средние. Если цена движется в одном направлении, а осциллятор показывает противоположное движение, это может быть сигналом о возможном развороте тренда.
Формулы для расчета осциллятора
1. **Вычисление скользящих средних**:
Для начала необходимо рассчитать короткую и длинную скользящие средние (SMA или EMA) для выбранного периода.
Формула для простой скользящей средней (SMA):
```
SMA = (P1 + P2 + P3 + ... + Pn) / n
```
где:
- **P1, P2, ... Pn** — цены закрытия за последние n периодов,
- **n** — количество периодов для расчета скользящей средней.
Формула для экспоненциальной скользящей средней (EMA) с периодом **n**:
```
EMA = P(t) * k + EMA(t-1) * (1 - k)
```
где:
- **P(t)** — цена закрытия текущего периода,
- **EMA(t-1)** — значение EMA предыдущего периода,
- **k** — коэффициент сглаживания, равный: k = 2 / (n + 1).
2. **Вычисление расхождения и схождения**:
Теперь можно рассчитать расхождение или схождение между короткой и длинной скользящими средними. Для этого вычитаем значение длинной средней из короткой:
```
Difference = Short_MA - Long_MA
```
Где:
- **Short_MA** — короткая скользящая средняя,
- **Long_MA** — длинная скользящая средняя.
3. **Нормализация осциллятора**:
Чтобы нормализовать осциллятор, можно использовать следующие формулы:
```
Oscillator = (Difference / Long_MA) * 100
```
Это значение показывает процентное расхождение между короткой и длинной скользящими средними, что позволяет определить силу тренда.
Как интерпретировать осциллятор?
1. **Схождение**:
Если короткая скользящая средняя начинает приближаться к длинной (то есть осциллятор приближается к нулю), это сигнализирует о **замедлении тренда**. Это может означать, что текущий тренд (будь то восходящий или нисходящий) теряет силу, и возможно скорое изменение направления движения цены.
2. **Расхождение**:
Если короткая скользящая средняя отдаляется от длинной (осциллятор уходит от нуля), это свидетельствует о **сильном тренде**. Чем больше расхождение, тем сильнее тренд, будь то восходящий или нисходящий.
3. **Разворотные сигналы**:
Если цена продолжает двигаться вверх, а осциллятор начинает снижаться (и наоборот), это может быть ранним сигналом о возможном **развороте тренда**. Такое поведение называют **медвежьим** или **бычьим расхождением**.
Пример использования осциллятора
Представьте, что на графике акции вы наблюдаете уверенный восходящий тренд, и короткая скользящая средняя значительно превышает длинную. Однако осциллятор начинает снижаться, несмотря на рост цены. Это может быть сигналом, что восходящий тренд теряет силу, и вскоре цена может начать снижаться. В такой ситуации трейдеры часто решают закрыть свои позиции или подготовиться к продаже.
Заключение
Осциллятор расхождения и схождения Артура А. Меррилла — мощный инструмент технического анализа, позволяющий трейдерам отслеживать изменения в трендах и принимать взвешенные решения. Он основывается на анализе скользящих средних и помогает выявлять моменты, когда тренд ослабевает или, наоборот, усиливается. Правильное использование осциллятора может помочь трейдерам избежать потерь и вовремя входить в сделки.
Этот код вы можете использовать в платформе Trading View чтоб построить осциллятор
//@version=5
indicator("STUDENT WYCKOFF Oscillator D - C (Arthur Merrill)", overlay=false)
// Настройки скользящих средних
short_length = input.int(12, title="Short MA Length", minval=1)
long_length = input.int(26, title="Long MA Length", minval=1)
// Выбор типа скользящей средней
ma_type = input.string("SMA", options=["SMA", "EMA"], title="MA Type")
// Рассчитываем скользящие средние
short_ma = ma_type == "SMA" ? ta.sma(close, short_length) : ta.ema(close, short_length)
long_ma = ma_type == "SMA" ? ta.sma(close, long_length) : ta.ema(close, long_length)
// Расчет разницы между короткой и длинной скользящими средними
difference = short_ma - long_ma
// Осциллятор: нормализация разницы
oscillator = (difference / long_ma) * 100
// Вывод на график
plot(oscillator, title="Divergence/Convergence Oscillator", color=color.blue, linewidth=2)
// Добавляем нулевую линию для ориентира
hline(0, "Zero Line", color=color.gray)
// Условие для изменения цвета, если осциллятор пересекает ноль
bgcolor(oscillator > 0 ? color.new(color.green, 90) : color.new(color.red, 90), title="Oscillator Background")