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

CCI Adaptive Smoother

cci adaptive smoother 1_1.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). Период CCI автоматически корректируется на основе текущей волатильности цены, что позволяет индикатору адаптироваться к изменяющимся рыночным условиям. В основе лежит собственная функция сглаживания с алфакоэффициентом, а также скользящие средние для вычисления промежуточных значений.

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

Система уведомлений позволяет получать алерты при смене тренда: текстовые сообщения на график, звуковые сигналы и email-уведомления. Звук воспроизводится из указанного аудиофайла.

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

НастройкаОписание
CciPeriod Базовый период расчёта индикатора CCI в барах.
CciPrice Тип цены, используемой для расчёта индикатора CCI.
AdaptPeriod Период адаптации для расчёта текущей волатильности цены и автоматической корректировки периода CCI.
CciMaPeriod Период скользящей средней линии CCI в барах.
CciMaMethod Метод расчёта скользящей средней линии CCI (например, взвешенная линейная средняя).
ShowHistogram Переключатель отображения гистограммы положительных и отрицательных значений CCI.
ShowCciMa Переключатель отображения линии скользящей средней CCI на графике.
OverSold Уровень перепроданности — нижняя граничная линия индикатора.
OverBought Уровень перекупленности — верхняя граничная линия индикатора.
alertsOn Включает или отключает систему уведомлений о смене тренда.
alertsOnCurrent При включении проверяет смену тренда на текущем баре, при выключении — на предыдущем баре.
alertsMessage Включает отображение текстового уведомления о смене тренда на графике.
alertsSound Включает воспроизведение звукового сигнала при смене тренда.
alertsEmail Включает отправку email-уведомления при смене тренда.
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       = 12;
extern ENUM_APPLIED_PRICE CciPrice = PRICE_TYPICAL;
extern int    AdaptPeriod     = 18;
extern int    CciMaPeriod     = 7;
extern ENUM_MA_METHOD 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        = false;
extern bool   alertsOnCurrent = false;
extern bool   alertsMessage   = false;
extern bool   alertsSound     = false;
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  

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

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

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

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

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

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

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