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

Cci Adaptive Smoother

cci adaptive smoother 1_2.mq5

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

indicator previous session range + projected candles + boschoch protected for tradingview.pineTradingView · 1 общих тегов#__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 общих тегов
Вы автор или правообладатель?

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

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

О программе

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

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

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

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

НастройкаОписание
CCI period (CciPeriod) Базовый период индикатора CCI.
Price to use (CciPrice) Тип цены, используемый для расчёта CCI.
Adapting period (AdaptPeriod) Период адаптации, используемый для расчёта стандартного отклонения и корректировки периода CCI.
Average period (CciMaPeriod) Период усредняющей средней для линии CCI.
Average method (CciMaMethod) Метод усреднения для линии среднего CCI.
Display histogram? (ShowHistogram) Переключатель отображения гистограммы CCI.
Display CCI average? (ShowCciMa) Переключатель отображения линии усреднённого CCI.
Over sold level (OverSold) Уровень перепроданности для отображения линии и срабатывания уведомлений.
Over bought level (OverBought) Уровень перекупленности для отображения линии и срабатывания уведомлений.
Turn alerts on? (alertsOn) Переключатель включения всех уведомлений.
Alerts on current (still opened) bar? (alertsOnCurrent) Переключатель срабатывания уведомлений на текущем открытом баре вместо предыдущего.
Alerts should display pop-up message? (alertsMessage) Переключатель отображения всплывающих сообщений при смене тренда.
Alerts should send an email? (alertsEmail) Переключатель отправки уведомлений по электронной почте при смене тренда.
Alerts should play an alert sound? (alertsSound) Переключатель воспроизведения звукового сигнала при смене тренда.
Sound file to use when playing alerts sounds (soundFile) Звуковой файл, используемый при воспроизведении уведомлений.
Получить полный код

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

#property indicator_separate_window
#property indicator_buffers    4
#property indicator_color1     clrDodgerBlue
#property indicator_color2     clrSandyBrown
#property indicator_color3     clrSilver
#property indicator_color4     clrDarkSlateGray
#property indicator_width1     2
#property indicator_width2     2
#property indicator_width3     2
#property indicator_width4     2
#property strict

extern int                CciPeriod       = 14;            // CCI period
extern ENUM_APPLIED_PRICE CciPrice        = PRICE_TYPICAL; // Price to use
extern int                AdaptPeriod     = 25;            // Adapting period
extern int                CciMaPeriod     = 7;             // Average period
extern ENUM_MA_METHOD     CciMaMethod     = MODE_LWMA;     // Average method 
extern bool               ShowHistogram   = true;          // Display histogram?
extern bool               ShowCciMa       = true;          // Display CCI average?
extern double             OverSold        = -150;          // Over sold level
extern double             OverBought      = 150;           // Over bought level
extern bool               alertsOn        = false;         // Turn alerts on?
extern bool               alertsOnCurrent = false;         // Alerts on current (still opened) bar?
extern bool               alertsMessage   = false;         // Alerts should display pop-up message?
extern bool               alertsEmail     = false;         // Alerts should send an email?
extern bool               alertsSound     = false;         // Alerts should play an alert sound?
extern string             soundFile       = "alert2.wav";  // Sound file to use when playing alerts sounds

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);
      double period = CciPeriod; 
         if (dev!=0) period = CciPeriod*avg/dev;
                     period = MathMax(period,3);

      prices[i]   = iMA(NULL,0,1,0,MODE_SMA,CciPrice,i);
      double avgs = 0; for(k=0; k<CciPeriod && (i+k)<Bars; k++) avgs +=         prices[i+k];       avgs /= CciPeri

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

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

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

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

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

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

Стоимость полного кода
475,20₽ ≈ $5.81