За громким названием "Индекс товарного канала", как это водится, скрывается простой индикатор. Wikipedia
Индикаторы в программе написаны на языке C#, для тех, кто изучает АПИ программы в открытом виде есть на форуме программы.
Как и остальные индикаторы, CCI уже есть, но по традиции прикладываю самодельный индикатор по формулам из wiki.
Строить индикаторы по формулам в программе просто. CCI состоит из TypicalPrice и простой скользящей средней.
Все, что необходимо для создания CCI уже есть в программе, однако в индикаторе показал, как создать и TypicalPrice и простую скользящую среднюю.
Я призываю Вас изучать индикаторы.
Изменив оригинал в лучшую сторону, есть вероятность построить интересные индикаторы.
Прикладываю индикатор CCI_custom, я применил в нем вместо простой скользящей средней, адаптивную скользящую среднюю.
И вместо TypicalPrice применил экспоненциальную среднюю.
На среднем графике оригинал CCI и самодельный индикатор:
Как видно, их значения идентичны, т.е. существующий в программе индикатор CCI написан именно так, как описан в wiki.
На нижнем графике custom Индикатор, получился он с ярко выраженными дивергенциями, видно, цена идет наверх, а значение индикатора вниз.
Однако он не такой дерганный, как оригинальный, более пологий.
В wiki предлагается два варианта стратегий, ссылаясь на то, что у разных авторов есть свое видение работы индикатора.
В построении этих стратегий, вместо оригинального индикатора, я буду использовать свой custom индикатор.
Одна группа, считает, что для длинных позиций нужно:
Покупать, когда CCI поднимается выше 100. Продавать, когда CCI опускается ниже 100.
А для коротких позиций:
Продавать (коротко), когда CCI опустится ниже -100. И закрывать короткую позицию, когда CCI поднимется выше -100.
Вторая группа, в качестве сигнальной линии рекомендует использовать нулевое значение, называя подобную стратегию Zero CCI, то есть: Покупать (открывать длинную, закрывать короткую позицию), когда Индекс товарного канала поднимается выше нуля. Продавать (закрывать длинную, открывать короткую позицию), когда CCI опустится ниже нуля.
Предлагаю Вам самостоятельно создать скрипт, который охватывает оба варианта и решить какая стратегия лучше оптимизатором.
Если чуть задуматься, помимо этих двух стратегий, есть еще одна, это использовать среднюю от CCI, вместо сигнальных линий.
И можно как минимум еще объединить все три стратегии.
Например, входить в позицию около нуля. А выходить из длинных позиций при пересечении CCI со своей средней, когда индикатор находится выше 100 и ниже минус 100 выходить из коротких позиций.
Для такой стратегии мой custom индикатор не подойдет, в силу дивергенций. Как и не подойдет оригинал, в силу своей дёрганности, из-за которой будет много ложных срабатываний.
Попробуйте создать индикатор, который будет таким же пологим, как получился у меня или лучше, но при этом с меньшими дивергенциями.
Всем удачи!
Материалы:
CCI_wiki.tscript CCI_custom.tscript CCI_wiki_custom_simile.tscript CCI_100.tscript CCI_Zero.tscript
(Скачайте файл. Откройте в программе TSLab "Лаб" -> "Управление скриптами" → Нажмите кнопку "Загрузить из файла").
Например, на инструменте биткоин стратегия не выглядит совсем уж не зарабатывающей.