Сегодня рассмотрим историю появления индикатора CMO (Chande Momentum Oscillator).
Также к данной статье будут прикреплены готовые скрипты роботов на этом индикаторе с возможностью торговать на нашей платформе OsEngine.

Оглавление.
1. История появления индикатора CMO.
2. Как проводятся расчеты индикатора.
3. Какие сигналы может подавать индикатор CMO.
4. Роботы для OsEngine на индикаторе CMO (Chande Momentum Oscillator).
4.1. Стратегия зоны перепроданности и перекупленности CMO.
4.2. Дивергенция Chande Momentum Oscillator.
4.3. Стратегия на пересечение нулевой линии Chande Momentum Oscillator и Alligator.
5. Таблица общих результатов.
1. История появления индикатора CMO.
Индикатор CMO (Chande Momentum Oscillator) – это технический индикатор, разработанный Тушаром Чанде в 1994 году, который используется для измерения момента (динамики) цен на рынке.
В основе индикатора лежит идея сравнения текущей цены закрытия с предыдущими ценами закрытия за определенный период времени. Если сравнение положительное, то индикатор CMO увеличивается, а если сравнение отрицательное, то индикатор CMO уменьшается.
Изначально индикатор CMO был разработан для фьючерсного рынка, но может применяться и на других рынках, включая фондовый и валютный рынки. Индикатор характеризуется своей чувствительностью, что позволяет оперативно определять развороты тренда. С его помощью трейдеры могут принимать более информированные решения о покупке или продаже активов.
Значения индикатора CMO могут варьироваться от -100 до +100. Положительные значения свидетельствуют о сильном бычьем тренде, а отрицательные значения указывают на сильный медвежий тренд. Значения близкие к нулю могут указывать на отсутствие тренда.
Индикатор CMO является одним из многих инструментов технического анализа, который помогает трейдерам прогнозировать будущее направление цены и принимать решения по отношению к своим торговым позициям.
2. Как проводятся расчеты индикатора.
Расчет индикатора CMO (Chande Momentum Oscillator):
- Задайте период времени, за который вы хотите рассчитать индикатор CMO. Обычно используют 20-дневный период, но его можно изменить в зависимости от требований.
- Рассчитайте изменение цены для каждого периода, сравнивая текущую цену закрытия с предыдущей ценой закрытия. Если текущая цена закрытия выше предыдущей, то изменение будет положительным, а если она ниже, то изменение будет отрицательным.
- Суммируйте положительные изменения цены за выбранный период и получите сумму положительных изменений (Sum of Positive Changes).
- Суммируйте отрицательные изменения цены за выбранный период и получите сумму отрицательных изменений (Sum of Negative Changes).
Формула расчета индикатора CMO будет выглядеть следующим образом:
CMO = ((Sum of Positive Changes — Sum of Negative Changes) / (Sum of Positive Changes + Sum of Negative Changes)) * 100
Расчёт индикатора в OsEngine, можно посмотреть вот в этом файле:
https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Indicators/Scripts/CMO.cs
3. Какие сигналы может подавать индикатор CMO.
Индикатор CMO (Chande Momentum Oscillator) может давать различные сигналы при торговле. Вот некоторые из них:
- Покупка: когда значение индикатора CMO пересекает нулевой уровень снизу вверх и продолжает расти. Это может быть сигналом для покупки актива. Такой сигнал указывает на изменение тренда с медвежьего на бычий.
- Продажа: когда значение индикатора CMO пересекает нулевой уровень сверху вниз и продолжает падать. Это может быть сигналом для входа в короткую позицию. Этот сигнал указывает на изменение тренда с бычьего на медвежий.
- Перекупленность и перепроданность рынка: если индикатор CMO достигает очень высоких значений (+100), это может сигнализировать о перекупленности рынка, и это может быть сигналом к продаже. С другой стороны, если индикатор CMO достигает очень низких значений (-100), это может сигнализировать о перепроданности рынка, и это может быть сигналом к покупке.
- Дивергенция: индикатор CMO также может формировать дивергенцию с ценой, когда значения индикатора и цены развиваются в разных направлениях. Например, если цена формирует новый максимум, а значение индикатора формирует более низкий максимум, это может сигнализировать о слабости тренда и возможном развороте цены.
Важно отметить, что сигналы, поступающие от индикатора CMO, следует подтверждать другими инструментами технического анализа или стратегиями торговли. Это поможет уменьшить количество ложных сигналов и поможет принимать более обоснованные торговые решения.
4. Роботы для OsEngine на индикаторе CMO (Chande Momentum Oscillator).
4.1. Стратегия зоны перепроданности и перекупленности CMO.
https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Robots/OverbougthOversoldCMO.cs
Логика:
- Покупаем, когда индикатор CMO пересекает уровень -50 снизу вверх.
- Продаем, когда индикатор CMO пересекает уровень 50 сверху вниз.
Выход:
- Из покупки, когда индикатор CMO пересекает уровень 50 сверху вниз.
- Из продажи, когда индикатор CMO пересекает уровень -50 снизу вверх.

Рис. 1. Пример логики.

Рис. 2. Si, TF15 min, 2021-23, P/L 1 contract: 0,53%

Рис. 3. BR, TF15 min, 2021-23, P/L 1 contract: 0,42%

Рис. 4. BTCUSDT, TF15 min, 2021-23, P/L 1 contract: 0,58%

Рис. 5. ETHUSDT, TF15 min, 2021-23, P/L 1 contract: 1,03%
4.2. Дивергенция Chande Momentum Oscillator.
https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Robots/DevergenceCMO.cs
Ссылка на ZigZag:
https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Indicators/Scripts/ZigZag.cs
Ссылка на ZigZagCMO(отдельный индикатор):
https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Indicators/Scripts/ZigZagCMO.cs
Логика входа:
- Покупаем, когда на графике цены минимум за определенный отрезок времени ниже предыдущего минимума, а на индикаторе минимум выше предыдущего.
- Продаём, когда на графике цены максимум за определенное количество времени выше предыдущего максимума, а на индикаторе максимум ниже предыдущего.
Выход:
- Устанавливаем стоп и профит в процентах от цены входа.

Рис. 6. Пример логики входа и выхода робота на основе дивергенции.

Рис. 7. Si, TF15 min, 2021-23, P/L 1 contract: 0,34%

Рис. 8. BR, TF15 min, 2021-23, P/L 1 contract: 0,47%

Рис. 9. BTCUSDT, TF15 min, 2021-23, P/L 1 contract: 1,04%

Рис. 10. ETHUSDT, TF15 min, 2021-23, P/L 1 contract: 0,66%
4.3. Стратегия на пересечение нулевой линии Chande Momentum Oscillator и Alligator.
https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Robots/BreakAlligatorCMO.cs
Ссылка на Alligator:
https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Indicators/Scripts/Alligator.cs
Пример логики:
- Покупаем, когда значение индикатора CMO пересекает уровень 0 снизу вверх, быстрая линия Alligator выше средней, и средняя линия выше медленной.
- Продаём, когда значение индикатора CMO пересекает уровень 0 сверху вниз, быстрая линия Alligator ниже средней, и средняя линия ниже медленной.
Выход:
- Из покупки. Ставим трейлинг-стоп на минимум за указанный для трейлинг-стопа период и переносим к новым минимумам цены, также за указанный период.
- Из продажи. Ставим трейлинг-стоп на максимум за указанный для трейлинг-стопа период и переносим к новым максимумам цены, также за указанный период.

Рис. 11. Пример логики на пересечение Alligator и пробой CMO.

Рис. 12. Si, TF15 min, 2021-23, P/L 1 contract: 0,43%

Рис. 13. Br, TF15 min, 2021-23, P/L 1 contract: 0,66%

Рис. 14. BTCUSDT, TF15 min, 2021-23, P/L 1 contract: 0,80%

Рис. 15. ETHUSDT, TF15 min, 2021-23, P/L 1 contract: 1,66%
5. Таблица общих результатов.

Рис. 16. Общая таблица результатов.
Лучшие результаты у нас показала стратегия, основанная на пересечении нулевой линии индикатором CMO и Alligator.
Ссылки на роботов на GitHub:
- https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Robots/OverbougthOversoldCMO.cs
- https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Robots/DevergenceCMO.cs
- https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Robots/BreakAlligatorCMO.cs

OsEngine: https://github.com/AlexWan/OsEngine
Поддержка OsEngine: https://t.me/osengine_official_support
Комментарии открыты для друзей, добавляйтесь!