CCI TREND-45
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «!!!-mt4 x-cci trend-45.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
!!!-mt4 x-cci trend-45 — это пользовательский индикатор для платформы MetaTrader 4 (MQL4), который рассчитывает значение CCI (Channel Commodity Index) и визуализирует его в отдельном окне в виде гистограмм с цветовой зонированием. Индикатор анализирует CCI на множестве таймфреймов (M1, M5, M15, M30, H1, H4, D1, W1, MN1) и отображает текстовые метки с сигналами направления тренда и его силы прямо на графике.
В зависимости от соотношения значений CCI на разных таймфреймах индикатор классифицирует текущую ситуацию как TREND/UP, TREND/DN или NEUTRAL, а также оценивает силу тренда (WEAK, MEDIUM, STRONG). Все метки создаются как графические объекты-метки на чарте и обновляются при каждом пересчёте.
Индикатор использует пять буферов для отрисовки гистограмм: бычьи и медвежьи зоны нейтральной и силовой области, а также основной буфер CCI. Пороговые уровни задаются константами в коде. Параметры периодов CCI и цветов можно настраивать через входные параметры.
Настройки программы
| Настройка | Описание |
|---|---|
| Indicator | Идентификатор индикатора — Текстовый параметр, задающий версию и идентификатор индикатора |
| STR00 | Заголовок группы настроек CCI — Текстовый параметр-заголовок группы настроек CCI |
| ClrUp | Цвет бычьей гистограммы — Цвет бычьей гистограммы (зона выше уровня) |
Поиск по коду файла
???//+------------------------------------------------------------------------------------------------------------------+
#property description "Let light shine out of darkness and illuminate your world"
#property description "and with this freedom leave behind your cave of denial"
#property indicator_height 200
#property indicator_maximum 250.0
#property indicator_minimum -250.0
#property indicator_separate_window
#property indicator_buffers 5
#property indicator_color1 clrBlue
#property indicator_level1 -50.0
#property indicator_level2 50.0
#property indicator_level3 0.0
#property indicator_level4 150.0
#property indicator_level5 -150.0
#property indicator_levelcolor clrBlack
#property indicator_levelstyle STYLE_SOLID
#property indicator_levelwidth 2
#define Version "CCI TREND-45 rev 002"
string ID="X>";
extern string Indicator = Version;
extern string STR00 = "<<<==== [00] CCI Settings ====>>>";
bool ShowTEXT = true,ShowTEXT2=true;
int CCIperM1 = 32,
CCIperM5 = 32,
CCIperM15 = 32,
CCIperM30 = 32,
CCIperH1 = 32,
CCIperH4 = 32,
CCIperD1 = 32,
CCIperW1 = 32,
CCIperMN1 = 32; int CCIper;
extern color ClrUp=clrDodgerBlue,ClrNeutralDn=C'255,85,160',ClrNeutralUp=clrRoyalBlue,ClrDn=C'225,125,165';
double BufCCI[],BufUp[],BufDn[],BufNeUp[],BufNeDn[]; double level=50;
bool Indicator_On=true; bool Deinitialized; int ChartScale,iWidth;
int OnInit(){
// код доступен только после оплаты
}
int deinit(){CleanUpOnAisle2(ID); string lookFor = ID+"cci"; int lookForLength = StringLen(lookFor);
for(int io=ObjectsTotal()-1; io>=0; io--){string objectName=ObjectName(io);
if(StringSubstr(objectName,0,lookForLength)==lookFor) ObjectDelete(objectName);} return(0);}
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[]){
// код доступен только после оплаты
}
if(!Indicator_On){if(!Deinitialized){deinit(); Deinitialized=true;} return(0);}
int i,limit; if(prev_calculated<0) return(0);
if(prev_calculated>0) limit=rates_total-prev_calculated+1; else limit=rates_total-1;
for(i=0; i<limit; i++){BufCCI[i]=iCCI(NULL,0,CCIper,PRICE_CLOSE,i);
BufNeUp[i]=0; BufUp[i]=0; BufDn[i]=0;}
for(i=limit;i>=0;i--){if(i<=Bars-3){double curr=BufCCI[i],prev=BufCCI[i+1];
if(curr> 0){if(curr>=level){BufNeUp[i]=level; BufNeDn[i]=0; BufUp[i]=curr; BufDn[i]=0;}
if(curr<= level){BufNeUp[i]=curr; BufNeDn[i]=0; BufUp[i]=0; BufDn[i]=0;}}
if(curr<=0){if(curr<-level){BufNeUp[i]=0; BufNeDn[i]=-level; BufUp[i]=0; BufDn[i]=curr;}
if(curr>=-level){BufNeUp[i]=0; BufNeDn[i]=curr; BufUp[i]=0; BufDn[i]=0;}}}}
if(ShowTEXT==true){
double cci_M1 =iCCI(NULL,PERIOD_M1, CCIper,PRICE_TYPICAL,0);
double cci_M5 =iCCI(NULL,PERIOD_M5, CCIper,PRICE_TYPICAL,0);
double cci_M15=iCCI(NULL,PERIOD_M15,CCIper,PRICE_TYPICAL,0);
double cci_M30=iCCI(NULL,PERIOD_M30,CCIper,PRICE_TYPICAL,0);
double cci_H1 =iCCI(NULL,PERIOD_H1, CCIper,PRICE_TYPICAL,0);
double cci_H4 =iCCI(NULL,PERIOD_H4, CCIper,PRICE_TYPICAL,0);}
string trend_signal = "",trend_main = "",trend_level = "";
color color_m1,color_m5,color_m15,color_m30,color_h1,color_h4,color_signal,color_main,color_level;
if((cci_M5 > 0) && (cci_M1 > 0)){trend_signal = "TREND/UP"; color_signal = Lime;}
if((cci_M5 < 0) && (cci_M1 < Показано первые 50% кода (символов: 8468)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.