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

Cci Adaptive Smoother

cci adaptive smoother.mq5

Похожие материалы по тегам

#__slope direction line.mq5MQL5 / MetaTrader 5 · 1 общих теговrange breakout @meowforex1.pineTradingView · 1 общих тегов#1.mtf_collider_h4_close_13_v18bar.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit3.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit2.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit.mq4MQL4 / MetaTrader 4 · 1 общих тегов
Вы автор или правообладатель?

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

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

О программе

Cci Adaptive Smoother — это пользовательский индикатор для MetaTrader 5, который рассчитывает значение CCI (Commodity Channel Index) с адаптивным периодом. Период CCI автоматически корректируется на основе соотношения текущей и средней стандартного отклонения цен, что позволяет индикатору подстраиваться под волатильность рынка. Для расчётов используется собственная функция сглаживания, а итоговое значение дополнительно усредняется скользящей средней заданного периода и метода.

Индикатор отображает основные данные в отдельном окне: линию CCI, гистограмму (разделённую на бычью и медвежью части) и линию усреднённого CCI. Уровени перекупленности и перепроданности задаются пользователем и отображаются в виде горизонтальных уровней. При смене тренда CCI генерируются уведомления — всплывающие сообщения, звуковые сигналы или email-рассылки.

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

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

НастройкаОписание
CciPeriod Базовый период CCI, который адаптивно корректируется в зависимости от волатильности цены в процессе расчёта индикатора.
CciPrice Тип цены, используемый для расчёта промежуточных значений индикатора.
AdaptPeriod Период адаптации — количество баров, используемых для расчёта стандартного отклонения и его скользящей средней, от которых зависит автоматическая корректировка периода CCI.
CciMaPeriod Период скользящей средней, применяемой к линии CCI для дополнительного сглаживания.
CciMaMethod Метод усреднения для линии CCI, рассчитываемой на основе буфера CCI. Применяется для дополнительного сглаживания отображаемой линии индикатора.
ShowHistogram Переключатель отображения гистограммы CCI (бычья и медвежья части). При отключении гистограмма не отрисовывается.
ShowCciMa Переключатель отображения линии усреднённого CCI на графике.
OverSold Значение уровня перепроданности, отображаемое как горизонтальный уровень в окне индикатора.
OverBought Значение уровня перекупленности, отображаемое как горизонтальный уровень в окне индикатора.
alertsOn Главный переключатель включения/отключения всех уведомлений индикатора.
alertsOnCurrent Переключатель, определяющий, на каком баре отслеживается смена тренда: на текущем (0) или на предыдущем (1).
alertsMessage Переключатель отправки всплывающих сообщений при смене тренда CCI.
alertsSound Переключатель воспроизведения звукового сигнала при смене тренда CCI.
alertsEmail Переключатель отправки email-уведомлений при смене тренда CCI.
soundFile Имя звукового файла, воспроизводимого при срабатывании звукового уведомления.
Получить полный код

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

#property indicator_separate_window
#property indicator_buffers    4
#property indicator_color1     Gold
#property indicator_color2     LimeGreen
#property indicator_color3     Red
#property indicator_color4     DarkSlateGray
#property indicator_width1     2
#property indicator_width2     2
#property indicator_width3     2
#property indicator_width4     2
#property indicator_levelcolor DarkOrchid

extern int    CciPeriod       = 14;
extern int    CciPrice        = PRICE_TYPICAL;
extern int    AdaptPeriod     = 21;
extern int    CciMaPeriod     = 7;
extern int    CciMaMethod     = MODE_LWMA;
extern bool   ShowHistogram   = true;
extern bool   ShowCciMa       = true;
extern double OverSold        = -150;
extern double OverBought      = 150;

extern string note            = "turn on Alert = true; turn off = false";
extern bool   alertsOn        = true;
extern bool   alertsOnCurrent = true;
extern bool   alertsMessage   = true;
extern bool   alertsSound     = true;
extern bool   alertsEmail     = false;
extern string soundFile       = "alert2.wav";

double cci[];
double cciU[];
double cciD[];
double cciMa[];
double prices[];
double trend[];

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

int start()
{
      // код доступен только после оплаты
   }
   int counted_bars=IndicatorCounted();
   int i,k,limit;

   if(counted_bars<0) return(-1);
   if(counted_bars>0) counted_bars--;
         limit = MathMin(Bars-counted_bars,Bars-1);

   for(i=limit; i>=0; i--)
   {
      double dev = iStdDev(NULL,0,AdaptPeriod,0,MODE_SMA,PRICE_CLOSE,i);
      double avg = iSma(dev,AdaptPeriod,i,0);
         if (dev!=0) 
                double period = CciPeriod*avg/dev;
         else          period = CciPeriod; 
         if (period<3) period = 3;

      prices[i]   = iMA(NULL,0,1,0,MODE_SMA,CciPrice,i);
      double avgs = 0; for(k=0; k<CciPeriod; k++) avgs +=         prices[i+k];       avgs /= CciPeriod;
      double devs = 0; for(k=0; k<CciPeriod; k++) devs += MathAbs(prices[i+k]-avgs); devs /= CciPeriod;
         if (devs!=0)
               cci[i] = iSmooth((prices[i]-avgs)/(0.015*devs),period,i,0);
         else  cci[i]

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

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

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

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

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

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

Стоимость полного кода
442,40₽ ≈ $5.41