← К каталогу
Исходный код · ID 2712

jma_cci.mq5

Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Данный индикатор представляет собой модификацию стандартного индикатора Commodity Channel Index (CCI), в которой вместо обычной скользящей средней используется JMA (Juris Moving Average). Индикатор отображается в отдельном подокне графика и рассчитывает отношение отклонения типичной цены от JMA к соответствующему стандартному отклонению.

Индикатор использует два входных параметра: период расчёта CCIPeriod и параметр JMAPhrase. Внутренне вычисляются несколько вспомогательных буферов для хранения значений скользящей средней, стандартного отклонения и относительного отклонения цены.

Расчёт выполняется в функции start() при каждом обновлении графика. Для получения значений скользящей средней вызывается внешний пользовательский индикатор "JMA". Результирующее значение CCI записывается в основной буфер и отрисовывается линией в подокне индикатора.

Индикатор совместим с платформой MetaTrader 5 и требует наличия установленного индикатора "JMA" в терминале для корректной работы.

Настройки программы

НастройкаОписание
CCIPeriod Период расчёта индикатора CCI, определяющий количество баров, используемых для вычисления скользящей средней и стандартного отклонения. По умолчанию равен 14.
JMAPhrase Параметр, передаваемый в вызов внешнего индикатора JMA. По умолчанию равен 0.
Получить полный код

Поиск по коду файла

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 LightSeaGreen

extern int CCIPeriod=14;
extern int JMAPhrase=0;

double CCIBuffer[];
double RelBuffer[];
double DevBuffer[];
double MovBuffer[];

int init()
  {
      // код доступен только после оплаты
   }

int start()
  {
      // код доступен только после оплаты
   }
   int    i,k,counted_bars=IndicatorCounted();
   double price,sum,mul;
   if(Bars<=CCIPeriod) return(0);

   if(counted_bars<1)
     {
      for(i=1;i<=CCIPeriod;i++) CCIBuffer[Bars-i]=0.0;
      for(i=1;i<=CCIPeriod;i++) DevBuffer[Bars-i]=0.0;
      for(i=1;i<=CCIPeriod;i++) MovBuffer[Bars-i]=0.

Показано первые 50% кода (символов: 1483)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
148,30₽ ≈ $1.81