Страница 1 из 1

CCI (Commodity Channel Index) – индекс товарного канала

Добавлено: 08 фев 2016, 09:12
evge
Индекс торгового канала – это негладкий осциллятор, который показывает отклонение цен от своего скользящего среднего с нормировкой по текущему стандартному отклонению.

Типовые параметры

Типовые параметры CCI имеют следующие значения N = 20 и уровни UpLevel = 100 и DnLevel = -100.

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

Некоторые авторы используют пересечение индикатора и нулевой линии. Надо понимать, что это идентично пересечению типовой цены и скользящей средней.

Автор: Дональд Ламберт (Donald Lambert)
Источник: Commodities magazine. 1980.

Пример:

CCI-00.png
CCI-00.png (41.59 КБ) 26674 просмотра


Исходный текст:

Код: Выделить всё

function Initialize()
{
  IndicatorName = "CCI";
  PriceStudy = false;
  AddInput("Input", Inputs.Candle);         
  AddParameter("Period", 20, 1.2);                   
  AddSeries("CCI", DrawAs.Line, Color.Gray);   
  AddLevel(100, Color.Gray, "CCI");
  AddLevel(-100, Color.Gray, "CCI");
}

function Evaluate()
{
// AlfaDirect. 2014. OX
// CCI (COMMODITY CHANNEL INDEX) – ИНДЕКС ТОВАРНОГО КАНАЛА 
if ( CurrentIndex < Period)
{
     CCI = 0.0;
}
else
{
   var TP = LIB.TP(Input);
   var sma = SMA(TP, Period)[0];
   // Mean Deviation
   var sigma = 0.0;
   for (int i = 0; i < Period; i++ )
      sigma = sigma + Math.Abs(TP[-i] - sma);
      sigma = (sigma/Period);
   // CCI
   CCI = (TP[0] - sma) / (0.015 * sigma);
}
}


Индикатор является встроенным индикатором, поэтому создавать пользовательский индикатор не имеет смысла.

Re: CCI (Commodity Channel Index) – индекс товарного канала

Добавлено: 13 сен 2017, 13:26
sglinskaia
Здравствуйте.
Может быть есть возможность написать код для индикатора два CCI с разным периодом в одном окне?
Заранее благодарю :)

Re: CCI (Commodity Channel Index) – индекс товарного канала

Добавлено: 13 сен 2017, 13:49
evge
sglinskaia писал(а):Может быть есть возможность написать код для индикатора два CCI с разным периодом в одном окне?


Конечно, сделать это очень просто. Вот скриншот пример и код

CCI2-01.png
CCI2-01.png (39 КБ) 26209 просмотров


Код: Выделить всё

function Initialize()
{
IndicatorName = "CCI2";
PriceStudy = false;
AddInput("Input", Inputs.Candle);
AddSeries("CCI1", DrawAs.Line, Color.Black);
AddSeries("CCI2", DrawAs.Line, Color.Blue);
AddSeries("Up", DrawAs.Line, Color.Black);
AddSeries("Down", DrawAs.Line, Color.Black);

AddParameter("Period1", 14);
AddParameter("Period2", 30);
AddParameter("LevelUp", 100);
AddParameter("LevelDown", -100);
}

function Evaluate()
{

var C1 = CCI(Input, Period1);
var C2 = CCI(Input, Period2);

CCI1 = C1[0];
CCI2 = C2[0];

Up = LevelUp;
Down = LevelDown;

}

Re: CCI (Commodity Channel Index) – индекс товарного канала

Добавлено: 13 сен 2017, 15:28
sglinskaia
ого оперативность! :) спасибочки бОльшое!