Поделиться

Индикатор CCI: что показывает и как использовать

Обложка статьи «Индикатор CCI: что показывает и как использовать»: линия осциллятора внутри коридора между плюс 100 и минус 100, с одним выбросом вверх и одним вниз
Что вы узнаете
  • разбор формулы CCI по шагам и объяснение, откуда взялась константа 0,015
  • две противоположные трактовки уровня 100 у площадок и правила, когда какая уместна
  • способ проверить индикатор как фильтр без подгонки под историю
Применить за 20 мин
Новичкам
17просмотров

Что такое индикатор CCI и что показывает индекс товарного канала

Индикатор придумал Дональд Ламберт, публикация вышла в 1980 году в журнале Commodities. Позже статья была перепечатана в Technical Analysis of Stocks & Commodities под названием «Commodity Channel Index: Tool for Trading Cyclic Trends», то есть автор задумывал инструмент для работы с циклическими, сезонными контрактами. Отсюда и слово «товарный» в названии: тогда речь шла про сырьевые фьючерсы, а не про весь рынок.

Справка MetaTrader 5 описывает задачу индикатора так: он измеряет отклонение цены от её средней статистической цены. Учебный раздел Fidelity формулирует мягче: текущий уровень цены относительно среднего уровня за заданный период. Это одно и то же, просто сказанное разными словами.

Что здесь важно понять сразу. CCI не отвечает на вопрос «куда пойдёт цена». Он отвечает на вопрос «насколько сейчас необычно то, что происходит». Ноль означает, что цена ровно на своём среднем. Значение около 150 означает, что цена ушла от среднего заметно дальше, чем уходила обычно за выбранный период, по умолчанию это двадцать свечей. И всё, дальше трактовка начинается там, где заканчивается математика.

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

Как считается CCI: типичная цена и среднее отклонение

Формула одинаково записана у TradingView, StockCharts и Fidelity:

CCI = (типичная цена - её простое среднее за период) / (0,015 x среднее абсолютное отклонение)

Разберём по шагам, потому что каждый элемент здесь делает свою работу.

  1. 1

    Типичная цена каждой свечи

    Складываем high, low и close, делим на три

  2. 2

    Простое среднее типичной цены

    Обычная скользящая средняя за выбранный период

  3. 3

    Отклонение текущей цены

    Вычитаем среднее из типичной цены этой свечи

  4. 4

    Среднее абсолютное отклонение

    Модули всех отклонений сложить и поделить на период

  5. 5

    Деление на 0,015 и результат

    Отклонение делим на 0,015 умножить на средний размах

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

Четвёртый шаг StockCharts описывает буквально в четыре действия: вычесть среднее из каждой типичной цены, взять модули полученных чисел, сложить их и разделить на число периодов. Именно модули, а не квадраты. Стандартного отклонения в формуле нет, и это первая причина, по которой ручной пересчёт у людей не сходится с терминалом.

Про таймфрейм отдельно: период считается в свечах, а не в днях. CCI с периодом 20 на часовом графике смотрит на двадцать часов, на дневном - на двадцать дней. Это очевидно, пока не начинаешь сравнивать значения с чужого скриншота.

Внутри формулы живёт обычная скользящая средняя, только считается она не по цене закрытия, а по типичной цене.

Теперь про странную константу. Зачем 0,015? StockCharts объясняет так: Ламберт подобрал её, чтобы примерно 70-80 процентов значений попадали в коридор от минус 100 до 100. TradingView говорит то же самое, но без цифры: большинство значений окажется в этом диапазоне. Справка MetaTrader 5 константу не объясняет вовсе, просто просит на неё умножить.

Важная оговорка, которую обычно пропускают: доля зависит от периода. Тот же StockCharts пишет, что короткий CCI на десяти периодах волатильнее и даёт меньший процент значений внутри коридора, а длинный на сорока периодах - больший. То есть коридор ±100 не является физической константой, он результат подгонки одного числа под средний случай.

Как читать уровни 100 и минус 100 и зону перекупленности

Вот главная развилка, из-за которой новичок читает пять статей и получает пять разных советов.

Глубоко ниже минус 100

Далеко выше 100

  1. 1.Минус 300: редкий выброс вниз
  2. 2.Ноль: цена на своём среднем
  3. 3.Плюс 300: редкий выброс вверх
Коридор от минус 100 до 100 удерживает по данным StockCharts примерно 70-80 процентов значений. Границы шкалы нет: значение может уйти и за 300, и за минус 300.

Первая трактовка, классическая. TradingView прямо пишет: значение 100 обычно опознают как перекупленность, минус 100 - как перепроданность, и тут же оговаривает, что фактические пороги зависят от инструмента. Справка MetaTrader 5 идёт дальше и связывает выход выше 100 с вероятностью корректирующего спада. По этой логике выход за уровень - повод ждать возврата.

Вторая трактовка, противоположная. StockCharts: когда CCI выстреливает выше 100, это отражает сильное движение цены, которое может означать начало восходящего тренда. Fidelity ещё прямее: движение выше 100 означает, что начинается новый сильный тренд, и это сигнал на покупку. По этой логике выход за уровень - повод не ждать возврата, а идти вместе с движением.

Забавно, что страница Fidelity содержит обе трактовки одновременно: в одном абзаце про начало тренда, в другом про зоны перекупленности выше 100. Это не небрежность, это честное отражение того, что индикатор допускает оба чтения.

Разрешается противоречие через режим рынка. В боковике выход за границу чаще заканчивается возвратом к среднему, в тренде - продолжением движения. Ресурс Incredible Charts так и разводит правила: для бокового рынка одни, для трендового другие, и отдельно предупреждает не открывать короткую позицию просто потому, что индикатор развернулся вниз из зоны выше уровня.

И третье, что нужно держать в голове постоянно. StockCharts и Fidelity независимо друг от друга пишут одну и ту же фразу: CCI - безграничный осциллятор, теоретически у него нет ни верхнего, ни нижнего предела. Fidelity делает из этого прямой вывод: именно поэтому трактовка перекупленности субъективна. У RSI значение 70 всегда одно и то же расстояние до потолка шкалы. У CCI значение 300 ничем не запрещено, и бумага может продолжать расти после того, как индикатор ушёл в зону перекупленности. Волатильность инструмента при этом сидит прямо в знаменателе формулы, поэтому одинаковые значения на спокойном и на нервном рынке означают разное по величине движение в деньгах.

Где включить CCI в TradingView и в терминале MetaTrader

  1. 1

    TradingView: кнопка Indicators

    Верхняя панель над графиком

  2. 2

    Начать печатать название

    Кликнуть по нужной строке в списке справа

  3. 3

    MetaTrader: меню Insert

    Или окно Navigator, или кнопка на панели

  4. 4

    Раздел Oscillators, затем CCI

    Задать период и применяемую цену

В MetaTrader 5 всего 38 встроенных индикаторов, и CCI лежит в группе осцилляторов. В TradingView индикатор встроенный, отдельно ставить его не нужно.

Дальше начинается то, о чём справки молчат хором. Период по умолчанию у площадок разный: у TradingView и StockCharts это 20, у платформы thinkorswim - 14, у библиотеки TA-Lib - тоже 14, а справка MetaTrader 5 дефолт вообще не декларирует. Ресурс Incredible Charts называет стандартом 20 дней с уровнями 100 и минус 100.

Скачивать отдельный файл индикатора не нужно ни там, ни там. Всё, что предлагают под видом «скачать CCI», обычно оказывается либо вариацией с чужими настройками, либо чем-то посторонним.

Что означает дивергенция цены и CCI

  1. Шаг 1

    Найти два соседних экстремума цены

    Два минимума подряд или два максимума подряд

  2. Шаг 2

    Отметить значения CCI в этих точках

    Берём значение на той же закрытой свече

  3. Шаг 3

    Сравнить направление двух картин

    Цена ниже, а индикатор выше - это расхождение

  4. Шаг 4

    Проверить режим рынка вокруг

    В сильном тренде расхождение часто ничего не значит

Сравнивать нужно закрытые свечи и одинаковые по смыслу точки: минимум с минимумом, максимум с максимумом. Незакрытая свеча перерисует картину.

Формулировки у площадок совпадают. Бычье расхождение: цена делает более низкий минимум, а CCI при этом рисует минимум повыше предыдущего. Медвежье зеркально: цена берёт новый максимум, индикатор за ней не идёт. Справка MetaTrader 5 добавляет, что за классическим расхождением обычно следует коррекция цены.

А теперь оговорка, которую StockCharts ставит прямо там же: расхождения могут вводить в заблуждение в сильном тренде, и далеко не каждое из них даёт хороший сигнал. Механика расхождений подробно разобрана в материале про дивергенцию RSI - там та же логика, только на другой шкале.

Чем CCI отличается от RSI, стохастика и моментума

ИндикаторЧто измеряетШкалаСтандартные уровни
CCIотклонение цены от её средней в единицах разбросане ограничена100 и минус 100
RSIскорость и величину изменения ценыстрого 0-10070 и 30, период 14
Stochasticположение закрытия внутри диапазона high-lowстрого 0-10080 и 20, настройки 14-3-3
Momentumизменение цены за периодне ограничена, вокруг 100явных уровней нет

Из таблицы видно, почему привычки, наработанные на RSI, на CCI переносятся плохо. У RSI и стохастика значение 80 всегда означает «осталось 20 до потолка». У безграничного осциллятора такого якоря нет, поэтому уровень 100 приходится трактовать через режим рынка, а не через расстояние до края шкалы.

Второе отличие в базе расчёта. CCI смотрит на отклонение типичной цены и нормирует его средним размахом отклонений, то есть встроенно учитывает разброс самого инструмента. RSI сравнивает суммарные приросты с суммарными снижениями. Стохастик смотрит, в какой части дневного диапазона закрылась свеча. Моментум делит текущую цену на цену n свечей назад. Это четыре разных вопроса к рынку, а не четыре настройки одного и того же.

Почему значение CCI отличается у разных площадок и библиотек

Причина первая, самая неожиданная. В справке TradingView формула определена через типичную цену, но в параметрах самого индикатора написано: Source определяет, какие данные каждой свечи пойдут в расчёт, и по умолчанию это Close. То есть встроенный индикатор считает по цене закрытия, а не по типичной цене из формулы, пока вы не поменяете параметр руками. У MQL5 выбор отдан пользователю явно: функция принимает применяемую цену отдельным аргументом, и в списке есть и цена закрытия, и типичная цена. А TA-Lib выбора не даёт вовсе: там типичная цена зашита в код.

Причина вторая - период. 20 против 14 при прочих равных даёт разные числа, а сравнивают люди обычно скриншоты, на которых период не подписан.

Причина третья - разночтение в самой документации. Справка MetaTrader 5, и десктопная, и мобильная, печатает последний шаг расчёта как деление M на D, где D это отклонение, а M это среднее отклонение умноженное на константу. Это перевёрнутая дробь относительно TradingView, StockCharts, Fidelity и исходного кода TA-Lib. Если вы честно считали по этой справке в таблице и получили ерунду - дело не в вас.

Практический вывод простой. Прежде чем спорить о значении, сверьте три вещи: период, применяемую цену и то, на каком таймфрейме снят график. Чаще всего расхождение объясняется одной из этих трёх причин.

Как проверить CCI как фильтр сигнала без подгонки

Здесь начинается самая неудобная часть темы, и обойти её нельзя.

Есть измеренная работа именно по CCI. Исследователи из RSU в 2021 году прогнали индикатор на фьючерсе на индекс SET50 с марта 2019 по февраль 2021: две стратегии, три периода, четыре таймфрейма. Вывод авторов: пересечение нуля показало себя лучше стратегии на уровнях, а период 20 лучше периодов 10 и 15. Лучшая комбинация дала чистую прибыль 570,70 пункта против минус 146,40 у подхода «купил и держи», при просадке минус 36,30. Это результат одного бэктеста на одном инструменте, а не обещание доходности.

И тут же самая честная цифра из всей работы: доля прибыльных сделок составила 33,93 процента. То есть выигрывала примерно одна сделка из трёх. Проверки вне выборки в работе нет: авторы сами относят её к следующему шагу и советуют прогнать систему на данных вне выборки, прежде чем рисковать реальными деньгами. Комиссию брокера они в расчёт тоже не включали, это их собственная оговорка про ограничение работы, а сделок в лучшей комбинации было 224. Это один инструмент и два года, а не свойство индикатора вообще.

Почему это важно. Есть работа Бэйли и соавторов про вероятность переподгонки бэктеста, и в ней показан такой опыт: перебор 8800 комбинаций параметров на ряде из 1000 точек, СГЕНЕРИРОВАННОМ случайным блужданием, дал оптимум с годовым коэффициентом Шарпа 1,27. В данных не было никакого сигнала вообще. Авторы объясняют механику: пятипроцентный уровень значимости работает, когда тест применяют ровно один раз. А один и тот же массив данных прогоняют миллионы и миллиарды раз, и тогда ложная находка почти неизбежна. И добавляют неприятное: у переподогнанных стратегий связь результата в выборке и вне выборки отрицательная.

Ещё раньше Салливан, Тиммерманн и Уайт прогнали набор простых торговых правил на ста годах дневных данных Dow Jones с поправкой на перебор. Лучшее правило, выжившее в исходной выборке, не показало превосходства на следующем десятилетнем периоде вне выборки.

Кому CCI подойдёт как фильтр, а кому нет
Подойдёт, если
  • Тем, кто уже определил режим рынка другим способом и хочет отсеять входы против движения
  • Тем, кто торгует на одном инструменте и может фиксировать период заранее, а не подбирать по результату
  • Тем, кто ведёт журнал сделок и готов считать долю прибыльных отдельно для боковика и тренда
Не подойдёт, если
  • Тем, кто ищет самостоятельный сигнал на вход без подтверждения ценой
  • Тем, кто подбирает период до тех пор, пока картина на истории не станет красивой
  • Тем, кто оценивает результат по последним десяти сделкам на одном инструменте

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

Что ещё называют аббревиатурой CCI

Это не придирка, а реальная проблема поиска. В одном запросном кластере рядом с индикатором лежат запросы про пробки для бутылок и про корпоративные номера и коды. Три буквы одни и те же, смыслы разные.

Если вы искали индикатор для графика - это тот CCI, о котором вся статья выше: Commodity Channel Index, индекс товарного канала. Если вы искали CCI в контексте упаковки, кодов или номеров - материал не про это, и лучше уточнить запрос словом «индикатор» или «трейдинг». Отдельно встречается «фрактальный CCI» и «CCI Вуди»: обычно это не отдельные индикаторы, а надстройки над тем же расчётом, с добавленными линиями и своим набором правил.

Риски и ограничения

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

Ложные срабатывания. StockCharts прямо пишет, что простые пересечения нулевой линии дают много пилы, а требование выхода за 100 или минус 100 запаздывает сильнее, зато уменьшает число ложных сигналов. Компромисс здесь неустраним: чем меньше шума, тем позже вход.

Безграничная шкала. Бумага может продолжать расти после того, как индикатор ушёл выше 100, и продолжать падать ниже минус 100. Fidelity советует использовать CCI вместе с другими индикаторами или анализом цены, а не в одиночку.

Регуляторы про это говорят прямо. CFTC в предупреждении о торговых системах пишет так: ни одна торговая система не гарантирует прибыль. И отдельно предупреждает про гипотетические результаты, полученные на исторических данных. FINRA в правиле о раскрытии рисков дейтрейдинга требует предупреждать: торговля внутри дня может быть крайне рискованной, к заявлениям о большой прибыли нужно относиться осторожно, а маржинальная торговля может привести к убыткам сверх первоначальных вложений. SEC в материале для инвесторов пишет, что дейтрейдеры обычно несут тяжёлые убытки в первые месяцы и многие так и не выходят в прибыль. Мосбиржа формулирует по-русски коротко: историческая доходность не гарантирует доходности в будущем. Банк России напоминает: доходность на финансовом рынке гарантировать нельзя, это прямой запрет закона.

Управление риском важнее настроек индикатора. Про это есть отдельный материал про риск-менеджмент в трейдинге, и читать его стоит раньше, чем подбирать период осциллятора.

Дисклеймер. Не является индивидуальной инвестиционной рекомендацией. Торговля связана с риском потери вложенных средств. Прошлые результаты не гарантируют будущих.

Источники

Частые вопросы

Что такое индекс товарного канала CCI простыми словами

Это число, которое показывает, насколько сильно цена ушла от своего среднего значения за выбранный период, и делает это в единицах обычного разброса цены. Ноль - цена на своём среднем.

Где скачать индикатор CCI

Скачивать не нужно: CCI встроен и в TradingView, и в MetaTrader 5. В TradingView он открывается через кнопку Indicators, в MetaTrader лежит в разделе Oscillators.

Что такое индикатор Вуди CCI

Это не отдельный индикатор, а надстройка над тем же расчётом: к стандартной линии добавляют дополнительные линии и набор правил чтения. Базовая формула при этом не меняется.

Что такое фрактальный CCI

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

Какой период CCI ставить в TradingView

По умолчанию площадка ставит 20, и это разумная отправная точка. Менять период имеет смысл осознанно: короткий даёт больше выходов за уровни и больше шума, длинный - меньше сигналов, но позже.

Материал был полезен?

Обсуждение

Анна

Спасибо, полезно даже тем, кто не первый год на рынке

Сергей П.

закинул в избранное, буду возвращаться

Оставить комментарий

Профильный эксперт
Макс
Аналитик рынка

Разбирает структуру рынка: уровни, объёмы, сценарии движения цены и торговые сетапы — на криптовалюте, акциях, валютных парах и фьючерсах. В базе знаний ведёт технический анализ и разборы реальных графиков: что происходило на рынке и как это читалось по индикатору.

График TradingView с сигналами Buy и Sell индикатора Midas
Midas multi-индикатор for TradingViewОдин из самых продвинутых индикаторов для трейдинга
  • Сигналы без перерисовки
  • Интерактивный теханализ
  • 7 стратегий на выбор
Midas multi-индикатор for TradingViewСигнал, стоп и 3 цели — прямо на графике
  • Сигнал фиксируется по закрытию свечи
  • Стоп и 3 цели строятся автоматически
  • План сделки виден до входа