Найти тему
Student wyckoff

Осциллятор расхождения и схождения Артура А. Меррилла: полное руководство с кодом для Trading View

Осциллятор расхождения и схождения Артура А. Меррилла: полное руководство

Осциллятор расхождения и схождения (**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")