[MT4指标]伍迪cci指标
伍迪cci指标 附图指标,
mt4指标类型:震荡指标
是否能用在mt4手机版上:否
是否含有未来函数:无
//+------------------------------------------------------------------+
//|                                                   WoodiesCCI.mq4 |
//|                                                            thorr |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright \"histogram colour update by [email protected] Moneytec chat: thorr; created by Luis Damiani; converted by Rosh\"
#property indicator_separate_window
#property indicator_buffers 5
#property indicator_color1 Yellow
#property indicator_width1 2
#property indicator_color2 Maroon
#property indicator_width2 2
#property indicator_color3 DarkGray
#property indicator_width3 2
#property indicator_color4 Red
#property indicator_width4 2
#property indicator_color5 RoyalBlue
#property indicator_width5 2
//---- input parameters
extern double       A_period=50;
extern int       B_period=12;
extern int       neutral = 6;
extern int       num_bars=5000;
// parameters
int i=0;
bool initDone=true;
int bar=0;
int prevbars=0;
int startpar=0;
int cs=0;
int prevcs=0;
string commodt=\"nonono\";
int frame=0;
int bars=0;
int count = 0, thisbar = 0;
double now, prev;
bool flag;
//---- buffers
double FastWoodieCCI;
double SlowWoodieCCI;
double HistoWoodieCCI;
double HistoRed;
double HistoBlue;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_LINE,STYLE_SOLID);
   SetIndexBuffer(0,FastWoodieCCI);
   SetIndexStyle(1,DRAW_LINE,STYLE_SOLID);
   SetIndexBuffer(1,SlowWoodieCCI);
   SetIndexStyle(2,DRAW_HISTOGRAM,STYLE_SOLID);
   SetIndexBuffer(2,HistoWoodieCCI);
   SetIndexStyle(3,DRAW_HISTOGRAM,STYLE_SOLID);
   SetIndexBuffer(3,HistoRed);
   SetIndexStyle(4,DRAW_HISTOGRAM,STYLE_SOLID);
   SetIndexBuffer(4,HistoBlue);
   IndicatorShortName(\"CCI Histogram (\"+A_period+\")\");
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int counted_bars=IndicatorCounted();
   cs = A_period + B_period + num_bars; //checksum used to see if parameters have been changed
   if ((cs==prevcs) && (commodt == Symbol()) && 
      (frame == (Time[4] - Time[5])) &&
      ((Bars - prevbars) < 2))
      startpar = Bars - prevbars; 
   else 
      startpar = -1;  //params haven\'t changed only need to calculate new bar
   commodt = Symbol();
   frame= Time[4] - Time[5];
   prevbars = Bars;
   prevcs = cs;
   if (startpar == 1 | startpar == 0)  
      bar = startpar;
   else 
      initDone = true;
   if (initDone) {
      //FastWoodieCCI[num_bars-1]=0;
      SlowWoodieCCI[num_bars-1]=0;
      HistoWoodieCCI[num_bars-1]=0;
      HistoBlue[num_bars-1]=0;
      HistoRed[num_bars-1]=0;
      bar=num_bars-2;
      initDone=false;
   }
   for (i = bar; i >= 0; i--) {
      //FastWoodieCCI=iCCI(NULL,0,B_period,PRICE_TYPICAL,i);
      SlowWoodieCCI=iCCI(NULL,0,A_period,PRICE_TYPICAL,i);
      
      now = iCCI(NULL,0,A_period,PRICE_TYPICAL,i);
      if ((prev >= 0 && now < 0) || (prev < 0 && now >= 0)) { // change of sign detected
         flag = true;
         count = 0;
      }
      if (flag) { // neutral territory
         if (thisbar != i)
            count++;
         prev = now;
         HistoWoodieCCI = now;
         if (count >= neutral)
            flag = false;
         thisbar = i;
         continue;
      }
      
      // Colour it!
      if (now > 0)
      HistoBlue = now;
      if (now < 0)
      HistoRed = now;
      prev = now;
   }
   return(0);
  }
发表于:2016-02-21 06:15只看该作者
2楼 
我今天測試這組編碼 9errors 4 warnings

韬客社区www.talkfx.co
发表于:2016-02-22 06:09只看该作者
3楼 
谢谢分享
韬客社区www.talkfx.co
发表于:2016-07-18 13:52只看该作者
4楼 
多谢分享
韬客社区www.talkfx.co
发表于:2017-08-08 09:35只看该作者
5楼 
灌水赚通宝,谢谢分享!
韬客社区www.talkfx.co



















