rss

Профиль компании

Финансовые компании

Блог компании Os_Engine | Индикатор CCI (Commodity Channel Index) и бесплатные роботы на нём.

Сегодня рассмотрим индикатор CCI (Commodity Channel Index), историю его появления и как его можно применять.

Также к данной статье будут прикреплены готовые скрипты роботов на этом индикаторе с возможностью торговать на нашей платформе OsEngine.

 Индикатор CCI (Commodity Channel Index) и бесплатные роботы на нём.

Оглавление.

1.      История появления индикатора CCI.

2.      Как проводятся расчёты индикатора.

3.      Какие сигналы может подавать индикатор CCI.

4.      Роботы для OsEngine на индикаторе CCI.

4.1.   Стратегия на пересечение двух Ema и CCI.

4.2.   Стратегия на Ema и CCI.

4.3.   Дивергенция CCI.

4.4.   Стратегия по перекупленности и перепроданности CCI.

4.5.   Торговая система Stochastic и CCI.

5.      Таблица общих результатов.


1. История появления индикатора CCI.

Индикатор CCI (Commodity Channel Index) является техническим инструментом анализа финансовых рынков. Он используется для измерения отклонения цены актива от стандартного уровня относительно его среднего значения.

Он был разработан Дональдом Ламбертом в начале 1980-х годов.

В то время Ламберт работал в командировке в Лос-Анджелесе и занимался анализом фьючерсных рынков. Он заметил, что цены на товары колеблются в рамках определенных каналов, и хотел создать индикатор, который помогал бы определить, насколько цена отклоняется от своего среднего значения.

CCI был представлен публике в 1981 году в журнале «Commodities» и вызвал большой интерес среди трейдеров и аналитиков. Он быстро стал популярным инструментом для технического анализа финансовых рынков, так как помогал идентифицировать перекупленные и перепроданные рынки и генерировал сигналы для открытия и закрытия позиций.

Индикатор CCI изменяется в диапазоне от -100 до +100, где значения около -100 показывают, что актив является перепроданным, а значения около +100 показывают, что актив является перекупленным. Значения близкие к нулю указывают на отсутствие явного тренда или колебания в рамках стандартного уровня.

С течением времени индикатор CCI стал широко используемым в различных финансовых рынках, включая акции, фьючерсы, валюты и сырьевые товары. Он был адаптирован для использования как в краткосрочных, так и в долгосрочных таймфреймах, и был включен в большинство торговых платформ и программ анализа рынка.

 

2. Как проводятся расчёты индикатора.

Расчеты индикатора CCI включают несколько шагов:

1. Рассчитайте Typical Price (TP) — среднее значение цены за период, которое определяется как (High + Low + Close) / 3.

2. Вычислите N-периодное накопленное скользящее среднее (SMA) для Typical Price. SMA = (Сумма Typical Price )/ N.

N обычно выбирается в диапазоне от 10 до 20, но может быть адаптировано под конкретные требования трейдера.

3. Рассчитайте Mean Deviation (MD) — среднее отклонение показателя Typical Price от его скользящего среднего.

Для этого на каждом шаге вычислите абсолютное значение разницы между Typical Price и скользящим средним, это и будет MD.

Затем просуммируйте все значения MD за N период. MD = Сумма (SMA — Typical Price).

4. Наконец, используя значения Typical Price, SMA и MD, рассчитайте CCI по формуле:

   CCI = (Typical Price — SMA) / (0.015 * MD / N)

Коэффициент 0.015 добавляется для нормализации и обеспечения относительных значений индикатора в диапазоне от -100 до +100.

Расчёт индикатора в OsEngine, можно посмотреть вот в этом файле:

https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Indicators/Scripts/CCI.cs

 

3. Какие сигналы может подавать индикатор CCI. 

Индикатор CCI может предоставить различные сигналы для трейдера в зависимости от его значения и поведения. Вот некоторые из основных сигналов, которые может подать индикатор CCI:

1. Перекупленность и перепроданность рынка: когда значение CCI поднимается выше +100, это может указывать на перекупленность рынка, что может быть сигналом на продажу. Соответственно, когда значение CCI опускается ниже -100, это может указывать на перепроданность рынка и сигнализировать о возможности покупки.

2. Использование элементов технического анализа: индикатор CCI может формировать горизонтальные уровни, наклонные уровни, треугольники и другие фигуры технического анализа. Они могут подавать более точные сигналы по сравнению с графиком цены.

3. Дивергенция: если цена актива формирует новые максимумы или минимумы, а значение CCI не повторяет эти новые экстремумы, и наоборот движется в противоположном направлении, это может указывать на формирование дивергенции. Дивергенция может указывать на возможное изменение тренда или разворот цены и может служить сигналом для трейдера.

4. Нулевой уровень: пересечение значения CCI с нулевым уровнем может предоставить сигнал о начале или окончании тренда. Пересечение CCI с нулевой линией вверх может сигнализировать о возможности роста цены и сигнализировать на покупку, а пересечение CCI с нулевой линией вниз может указывать на возможное падение цены и сигнализировать на продажу.

Важно отметить, что сигналы индикатора CCI лучше проверять и подтверждать с помощью других инструментов и методов анализа для принятия обоснованных торговых решений. Комбинированный подход обычно дает более точные результаты и уменьшает возможность ложных сигналов.

 

4. Роботы для OsEngine на индикаторе CCI.

4.1. Стратегия на пересечение двух Ema и CCI.

https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Robots/StrategyTwoEmaAndCCI.cs

Ссылка на Ema:

https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Indicators/Scripts/Ema.cs

Логика:

Покупаем, когда

  1. быстрая Ema выше медленной Ema.
  2. CCI пересёк уровень 0 снизу.

Продаем, когда

  • быстрая Ema ниже медленной Ema.
  • CCI пересёк уровень 0 сверху.

Выход:

  • Из покупки, когда быстрая Ema ниже медленной Ema.
  • Из продажи, когда быстрая Ema выше медленной Ema.
Индикатор CCI (Commodity Channel Index) и бесплатные роботы на нём.
Рис. 1. Пример логики.

Индикатор CCI (Commodity Channel Index) и бесплатные роботы на нём.
Рис. 2. Si, TF15 min, 2021-23, P/L 1 contract: 0,49%

Индикатор CCI (Commodity Channel Index) и бесплатные роботы на нём.
Рис. 3. BR, TF15 min, 2021-23, P/L 1 contract: 0,45%

Индикатор CCI (Commodity Channel Index) и бесплатные роботы на нём.
Рис. 4. BTCUSDT, TF15 min, 2021-23, P/L 1 contract: 0,25%

Индикатор CCI (Commodity Channel Index) и бесплатные роботы на нём.
Рис. 5. ETHUSDT, TF15 min, 2021-23, P/L 1 contract: 0,95%

 

4.2. Стратегия на Ema и CCI.

https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Robots/StrategyEmaAndCCI.cs

Ссылка на Ema:

https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Indicators/Scripts/Ema.cs

Логика входа: 

Покупаем, когда

  • Цена закрывается выше Ema.
  • Значение CCI выше +100.

Продаем, когда

  • Цена закрывается ниже Ema.
  • Значение CCI ниже -100.

Выход:

  • Из покупки. Устанавливаем трейлинг-стоп на минимум за указанный для трейлинг-стопа период и переносим на новым минимум цены, также за указанный период.
  • Из продажи. Устанавливаем трейлинг-стоп на максимум за указанный для трейлинг-стопа период и переносим на новым максимум цены, также за указанный период.
Индикатор CCI (Commodity Channel Index) и бесплатные роботы на нём.
Рис. 6. Пример логики входа и выхода робота.


Индикатор CCI (Commodity Channel Index) и бесплатные роботы на нём.
Рис. 7. Si, TF15 min, 2021-23, P/L 1 contract: 0,64


Индикатор CCI (Commodity Channel Index) и бесплатные роботы на нём.
Рис. 8. BR, TF15 min, 2021-23, P/L 1 contract: 0,23%

Индикатор CCI (Commodity Channel Index) и бесплатные роботы на нём.
Рис. 9. BTCUSDT, TF15 min, 2021-23, P/L 1 contract: 0,37%


Индикатор CCI (Commodity Channel Index) и бесплатные роботы на нём.
Рис. 10. ETHUSDT, TF15 min, 2021-23, P/L 1 contract: 1,13%

 

4.3. Дивергенция CCI.

https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Robots/DevergenceCCI.cs

Ссылка на ZigZag:

https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Indicators/Scripts/ZigZag.cs

Ссылка на ZigZagCCI (отдельный индикатор):

https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Indicators/Scripts/ZigZagCCI.cs

Логика входа:

  • Покупаем, когда минимумы на графике снижаются, а на индикаторе растут.
  • Продаем, когда максимумы на графике повышаются, а на индикаторе снижаются.

Выход:

  • Устанавливаем стоп и профит в процентах от цены входа.
Индикатор CCI (Commodity Channel Index) и бесплатные роботы на нём.
Рис. 11. Пример срабатывания дивергенции в этой стратегии.


Индикатор CCI (Commodity Channel Index) и бесплатные роботы на нём.
Рис. 12. Si, TF15 min, 2021-23, P/L 1 contract: 0,21%


Индикатор CCI (Commodity Channel Index) и бесплатные роботы на нём.
Рис. 13. Br, TF15 min, 2021-23, P/L 1 contract: 1,53%

Индикатор CCI (Commodity Channel Index) и бесплатные роботы на нём.
Рис. 14. BTCUSDT, TF15 min, 2021-23, P/L 1 contract: 0,64%

Индикатор CCI (Commodity Channel Index) и бесплатные роботы на нём.
Рис. 15. ETHUSDT, TF15 min, 2021-23, P/L 1 contract: 0,64%

 

4.4. Стратегия по перекупленности и перепроданности CCI.

https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Robots/OverboughtOversoldCCI.cs

Логика входа:

  • Покупаем, когда значение индикатора CCI ниже определенного уровня.
  • Продаем, когда значения индикатора CCI выше определенного уровня.

Выход:

  • Из покупки, когда значения индикатора CCI выше определенного уровня.
  • Из продажи, когда значение индикатора CCI ниже определенного уровня.
Индикатор CCI (Commodity Channel Index) и бесплатные роботы на нём.
Рис. 16. Пример логики.

Индикатор CCI (Commodity Channel Index) и бесплатные роботы на нём.
Рис. 17. Si, TF15 min, 2021-23, P/L 1 contract: 0,82%

Индикатор CCI (Commodity Channel Index) и бесплатные роботы на нём.
Рис. 18. Br, TF15 min, 2021-23, P/L 1 contract: 0,99%

Индикатор CCI (Commodity Channel Index) и бесплатные роботы на нём.
Рис. 19. BTCUSDT, TF15 min, 2021-23, P/L 1 contract: 0,15%

Индикатор CCI (Commodity Channel Index) и бесплатные роботы на нём.
Рис. 20. ETHUSDT, TF15 min, 2021-23, P/L 1 contract: 0,15%

 

4.5. Торговая система Stochastic и CCI.

https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Robots/TraderStohAndCCI.cs

Ссылка на Stochastic:

https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Indicators/Scripts/Stochastic.cs

Логика входа:

Покупаем, когда

  • Линия CCI находится в диапазоне между уровнями 100 и -100, и направлена вверх.
  • Stochastic пересекает уровень 20 снизу вверх.

Продаем, когда

  • Линия CCI находится в диапазоне между уровнями 100 и -100, и направлена вниз.
  • Stochastic пересекает уровень 80 сверху вниз.

Выход:

  • Из покупки. Устанавливаем трейлинг-стоп в процентах от минимума свечи, на которой вошли.
  • Из продажи. Устанавливаем трейлинг-стоп в %процентах от максимума свечи, на которой вошли.
Индикатор CCI (Commodity Channel Index) и бесплатные роботы на нём.
Рис. 21. Пример логики.

Индикатор CCI (Commodity Channel Index) и бесплатные роботы на нём.
Рис. 22. Si, TF15 min, 2021-23, P/L 1 contract: 0,19%

Индикатор CCI (Commodity Channel Index) и бесплатные роботы на нём.
Рис. 23. Br, TF15 min, 2021-23, P/L 1 contract: 1,50%

Индикатор CCI (Commodity Channel Index) и бесплатные роботы на нём.
Рис. 24. BTCUSDT, TF15 min, 2021-23, P/L 1 contract: 0,09%

Индикатор CCI (Commodity Channel Index) и бесплатные роботы на нём.
Рис. 25. ETHUSDT, TF15 min, 2021-23, P/L 1 contract: 0,45%

 

5.    Таблица общих результатов.

 Индикатор CCI (Commodity Channel Index) и бесплатные роботы на нём.
Рис. 26. Общая таблица результатов.

Лучшие результаты у нас показала стратегия, основанная на дивергенции.

Ссылки на роботов на GitHub:

  1. https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Robots/StrategyTwoEmaAndCCI.cs
  2. https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Robots/StrategyEmaAndCCI.cs
  3. https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Robots/DevergenceCCI.cs
  4. https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Robots/OverboughtOversoldCCI.cs
  5. https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Robots/TraderStohAndCCI.cs

 

Что почитать по алготрейдингу?

1) Сборник статей по парному арбитражу: https://smart-lab.ru/company/os_engine/blog/948250.php

2) Сборник статей по валютному арбитражу: https://smart-lab.ru/company/os_engine/blog/965051.php

3) Сборник статей по индексному арбитражу: https://smart-lab.ru/company/os_engine/blog/997533.php

4) Сборник статей про индикаторы и роботы к ним: https://smart-lab.ru/company/os_engine/blog/966919.php

5) Как стать программистом и изменить свою жизнь: https://smart-lab.ru/company/os_engine/blog/982134.php 

OsEngine: https://github.com/AlexWan/OsEngine
FAQ: https://o-s-a.net/os-engine-faq
Поддержка OsEngine: https://t.me/osengine_official_support


Комментарии открыты для друзей, добавляйтесь! 

 

★6
2 комментария
Зачем давать роботов забесплатно?
avatar
MatrixLis, Чтобы пользователи на данных примерах учились реализовывать свои идеи.
avatar

UPDONW
Новый дизайн