Осцилляторы нормированные > CCI (Commodity Channel Index) – индекс товарного канала

Аватара пользователя
evge
Администратор
Сообщения: 1807
Зарегистрирован: 04 фев 2016, 09:46
Откуда: Млечный путь, планета Земля
Благодарил (а): 83 раза
Поблагодарили: 361 раз
Контактная информация:

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

Непрочитанное сообщение evge » 08 фев 2016, 09:12

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

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

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

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

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

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

Пример:

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


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

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

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);
}
}


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

sglinskaia
Сообщения: 2
Зарегистрирован: 13 сен 2017, 13:24

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

Непрочитанное сообщение sglinskaia » 13 сен 2017, 13:26

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

Аватара пользователя
evge
Администратор
Сообщения: 1807
Зарегистрирован: 04 фев 2016, 09:46
Откуда: Млечный путь, планета Земля
Благодарил (а): 83 раза
Поблагодарили: 361 раз
Контактная информация:

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

Непрочитанное сообщение evge » 13 сен 2017, 13:49

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


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

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


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

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;

}
никогда такого не было и вот опять

sglinskaia
Сообщения: 2
Зарегистрирован: 13 сен 2017, 13:24

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

Непрочитанное сообщение sglinskaia » 13 сен 2017, 15:28

ого оперативность! :) спасибочки бОльшое!


Вернуться в «Осцилляторы нормированные»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 6 гостей