//+------------------------------------------------------------------+ //| CCI_onMA.mq4 | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ //2008forextsd ki #property copyright "http://www.forex-tsd.com/" #property link "" #property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 Red #property indicator_color2 DodgerBlue #property indicator_width1 2 #property indicator_width2 1 //---- extern int CCI_Period = 14; extern int CCI_Price = 5; extern double CCI_multiplier = 0.3; extern int MaPeriod = 14; extern int MaMetod = 0; extern int MaPrice = 5; extern string note_Price = "0C 1O 2H 3L4Md 5Tp 6WghC: Md(HL/2)4,Tp(HLC/3)5,Wgh(HLCC/4)6"; extern string MA_Method_ = "SMA0 EMA1 SMMA2 LWMA3"; //---- double CCIonMABuffer[]; double MA_Buffer[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //|------------------------------------------------------------------| int init() { //---- IndicatorBuffers(2); SetIndexBuffer(0, CCIonMABuffer); SetIndexBuffer(1, MA_Buffer); SetIndexStyle(0,DRAW_LINE); SetIndexStyle(1,DRAW_LINE); //---- SetIndexLabel(0,"CCIonMA CCI:("+CCI_Period+"|"+CCI_Price+")("+MaPeriod+")"); SetIndexLabel(1,"MA ("+MaPeriod+")"+MaMetod+","+MaPrice+""); IndicatorShortName("CCIonMA "+CCI_Period+";"+MaPeriod+""); for (int i=0;i<indicator_buffers;i++) SetIndexDrawBegin(i,MathMax (MaPeriod,CCI_Period)); return(0); } //+------------------------------------------------------------------+ //| Custor indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int i,limit, CountedBars=IndicatorCounted(); if (CountedBars<0) return(-1); if (CountedBars>0) CountedBars--; limit= Bars-CountedBars; limit= MathMax(limit,CCI_Period); limit= MathMax(limit,MaPeriod); for (i=limit;i>=0;i--) { double CCI_val = iCCI(NULL,0,CCI_Period,CCI_Price,i); MA_Buffer [i] = iMA(NULL,0,MaPeriod,0,MaMetod,MaPrice,i); CCIonMABuffer [i] = CCI_val*CCI_multiplier*Point+ MA_Buffer[i]; } //---- return(0); } //+------------------------------------------------------------------+
Sample
Analysis
Market Information Used:
Indicator Curves created:
Implements a curve of type DRAW_LINE
Indicators Used:
Commodity channel index
Moving average indicator
Custom Indicators Used:
Order Management characteristics:
Other Features: