Cci Adaptive Smoother
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «cci adaptive smoother.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.