GentorCCI

Indikátor postavený na několika variantách Woodies CCI.

 

 

//+——————————————————————+
//|                                                   GentorCCIM .mq4 |
//|                                                   Egorov Gennadiy |
//+——————————————————————+
#property copyright „Egorov Gennadiy“
#property link      „“

#property indicator_separate_window
#property indicator_buffers 5

#property indicator_color1 Red
#property indicator_color2 Black
#property indicator_color3 Lime
#property indicator_color4 Yellow
#property indicator_color5 Green
#property indicator_level1 300
#property indicator_level2 200
#property indicator_level3 100
#property indicator_level4 50
#property indicator_level5 -50
#property indicator_level6 -100
#property indicator_level7 -200
#property indicator_level8 -300
//—- input parameters
extern int       A_period=14;
extern int       B_period=6;
extern int       EMA=34;
extern int       num_bars=300;
// parameters
int shift=0;

//—- buffers
double FastWoodieCCI[];
double SlowWoodieCCI[];
double HistoWoodieCCI[];
double LineHighEMA[];
double LineLowEMA[];

//—- indicator buffers

//+——————————————————————+
//| Custom indicator initialization function                         |
//+——————————————————————+
int init()
{
IndicatorDigits(2);
//—- indicators
SetIndexStyle(0,DRAW_LINE,0,1);
SetIndexBuffer(0,FastWoodieCCI);
SetIndexStyle(1,DRAW_LINE,0,2);
SetIndexBuffer(1,SlowWoodieCCI);
SetIndexStyle(2,DRAW_HISTOGRAM,0,1);
SetIndexBuffer(2,HistoWoodieCCI);
SetIndexStyle(3,DRAW_LINE,1,3);
SetIndexBuffer(3,LineHighEMA);
SetIndexStyle(4,DRAW_LINE,1,3);
SetIndexBuffer(4,LineLowEMA);

//—- initialization done
return(0);
}

//+——————————————————————+
//| Custor indicator deinitialization function                       |
//+——————————————————————+
int deinit()
{
//—- TODO: add your code here

//—-
return(0);
}
//+——————————————————————+
//| Custom indicator iteration function                              |
//+——————————————————————+
int start()
{
int   i;
int   counted_bars = IndicatorCounted();

//—- check for possible errors
if ( counted_bars<0 )
return(-1);

//—- last counted bar will be recounted
if ( counted_bars > 0 )
counted_bars–;

counted_bars = Bars – counted_bars;

for (shift = 0; shift < counted_bars; shift++)
{
//
FastWoodieCCI[shift]=iCCI(NULL,0,B_period,PRICE_TYPICAL,shift);
SlowWoodieCCI[shift]=iCCI(NULL,0,A_period,PRICE_TYPICAL,shift);
HistoWoodieCCI[shift]=iCCI(NULL,0,A_period,PRICE_TYPICAL,shift);
//—————-color coding—————————
LineLowEMA[shift]=0;
LineHighEMA[shift]=0;

double EmaValue = iMA( NULL, 0, EMA, 0, MODE_EMA, PRICE_TYPICAL, shift );
if ( Close[shift] > EmaValue )
LineHighEMA[shift]=EMPTY_VALUE;
else
if (Close[shift] < EmaValue )
LineLowEMA[shift]=EMPTY_VALUE;

}

//—- done
return(0);
}
//+——————————————————————+

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *