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