[MT4指标]依据均线做斐波那契阻力支撑
主图指标
mt4指标类型:趋势指标
是否能用在mt4手机版上:否
是否含有未来函数:无
//+------------------------------------------------------------------+
//|                                              Critical Points.mq4 |
//|                                                         emsjoflo |
//|                                  automaticforex.invisionzone.com |
//+------------------------------------------------------------------+
#property copyright \"emsjoflo\"
#property link      \"automaticforex.invisionzone.com\"
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Red
//---- input parameters
extern int       MAPeriod=157;
extern int       MAType = 0;
extern int       Fib1=21;
extern int       Fib2=34;
extern int       Fib3=55;
extern int       Fib4=89;
extern int       Fib5=144;
extern int       Fib6=233;
extern int       Fib7=377;
extern int       Fib8=610;
extern color     Color1=Khaki;
extern color     Color2=LightGreen;
extern color     Color3=LightSkyBlue;
extern color     Color4=Plum;
extern color     Color5=LightSalmon;
extern color     Color6=Tomato;
extern color     Color7=Magenta;
extern color     Color8=Aqua;
double Line1,Line_1,Line2,Line_2,Line3,Line_3,Line4,Line_4,Line5,Line_5,Line6,Line_6,Line7,Line_7,Line8,Line_8,MAVal,MAValOld;
//---- buffers
double ExtMapBuffer1;
//---- variables
int    MAMode;
string strMAType;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_LINE);
   SetIndexBuffer(0,ExtMapBuffer1);
//----
switch (MAType)
   {
      case 1: strMAType=\"EMA\"; MAMode=MODE_EMA; break;
      case 2: strMAType=\"SMMA\"; MAMode=MODE_SMMA; break;
      case 3: strMAType=\"LWMA\"; MAMode=MODE_LWMA; break;
      case 4: strMAType=\"LSMA\"; break;
      default: strMAType=\"SMA\"; MAMode=MODE_SMA; break;
   }
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
ObjectDelete(\"cp1\");
ObjectDelete(\"cp2\");
ObjectDelete(\"cp3\");
ObjectDelete(\"cp4\");
ObjectDelete(\"cp5\");
ObjectDelete(\"cp6\");
ObjectDelete(\"cp7\");
ObjectDelete(\"cp8\");
ObjectDelete(\"cp_1\");
ObjectDelete(\"cp_2\");
ObjectDelete(\"cp_3\");
ObjectDelete(\"cp_4\");
ObjectDelete(\"cp_5\");
ObjectDelete(\"cp_6\");
ObjectDelete(\"cp_7\");
ObjectDelete(\"cp_8\");
//----
   return(0);
  }
double LSMA(int Rperiod, int shift)
{
   int i;
   double sum;
   int length;
   double lengthvar;
   double tmp;
   double wt;
   length = Rperiod;
 
   sum = 0;
   for(i = length; i >= 1  ; i--)
   {
     lengthvar = length + 1;
     lengthvar /= 3;
     tmp = 0;
     tmp = ( i - lengthvar)*Close[length-i+shift];
     sum+=tmp;
    }
    wt = sum*6/(length*(length+1));
    
    return(wt);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int limit;
   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--;
   limit = Bars - counted_bars;
   for(int i=limit; i>=0; i--)
   {
      if (MAType == 4)
      {
        MAVal = LSMA(MAPeriod,i);
      }
      else
      {
      
        MAVal=iMA(NULL,0,MAPeriod,0,MAMode,PRICE_CLOSE,i);
      }
      ExtMapBuffer1 = MAVal;
   }
   Line1=MAVal+Fib1*Point;
   Line2=MAVal+Fib2*Point;
   Line3=MAVal+Fib3*Point;
   Line4=MAVal+Fib4*Point;
   Line5=MAVal+Fib5*Point;
   Line6=MAVal+Fib6*Point;
   Line7=MAVal+Fib7*Point;
   Line8=MAVal+Fib8*Point;
   Line_1=MAVal-Fib1*Point;
   Line_2=MAVal-Fib2*Point;
   Line_3=MAVal-Fib3*Point;
   Line_4=MAVal-Fib4*Point;
   Line_5=MAVal-Fib5*Point;   
   Line_6=MAVal-Fib6*Point;
   Line_7=MAVal-Fib7*Point;
   Line_8=MAVal-Fib8*Point;   
   
   if(ObjectFind(\"cp1\") != 0)
      {
      ObjectCreate(\"cp1\", OBJ_HLINE, 0, Time[20], Line1);
      ObjectSet(\"cp1\", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet(\"cp1\", OBJPROP_COLOR, Color1);
      }
      else
      {
      ObjectMove(\"cp1\", 0, Time[20], Line1);
      }
      
   if(ObjectFind(\"cp2\") != 0)
      {
      ObjectCreate(\"cp2\", OBJ_HLINE, 0, Time[20], Line2);
      ObjectSet(\"cp2\", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet(\"cp2\", OBJPROP_COLOR, Color2);
      }
      else
      {
      ObjectMove(\"cp2\", 0, Time[20], Line2);
      }
      
    if(ObjectFind(\"cp3\") != 0)
      {
      ObjectCreate(\"cp3\", OBJ_HLINE, 0, Time[20], Line3);
      ObjectSet(\"cp3\", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet(\"cp3\", OBJPROP_COLOR, Color3);
      }
      else
      {
      ObjectMove(\"cp3\", 0, Time[20], Line3);
      }
      
   if(ObjectFind(\"cp4\") != 0)
      {
      ObjectCreate(\"cp4\", OBJ_HLINE, 0, Time[20], Line4);
      ObjectSet(\"cp4\", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet(\"cp4\", OBJPROP_COLOR, Color4);
      }
      else
      {
      ObjectMove(\"cp4\", 0, Time[20], Line4);
      }
         
 
   if(ObjectFind(\"cp5\") != 0)
      {
      ObjectCreate(\"cp5\", OBJ_HLINE, 0, Time[20], Line5);
      ObjectSet(\"cp5\", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet(\"cp5\", OBJPROP_COLOR, Color5);
      }
      else
      {
      ObjectMove(\"cp5\", 0, Time[20], Line5);
      }
  
   if(ObjectFind(\"cp6\") != 0)
      {
      ObjectCreate(\"cp6\", OBJ_HLINE, 0, Time[20], Line6);
      ObjectSet(\"cp6\", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet(\"cp6\", OBJPROP_COLOR, Color6);
      }
      else
      {
      ObjectMove(\"cp6\", 0, Time[20], Line6);
      }
  
   if(ObjectFind(\"cp7\") != 0)
      {
      ObjectCreate(\"cp7\", OBJ_HLINE, 0, Time[20], Line7);
      ObjectSet(\"cp7\", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet(\"cp7\", OBJPROP_COLOR, Color7);
      }
      else
      {
      ObjectMove(\"cp7\", 0, Time[20], Line7);
      }
   if(ObjectFind(\"cp8\") != 0)
      {
      ObjectCreate(\"cp8\", OBJ_HLINE, 0, Time[20], Line8);
      ObjectSet(\"cp8\", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet(\"cp8\", OBJPROP_COLOR, Color8);
      }
      else
      {
      ObjectMove(\"cp8\", 0, Time[20], Line8);
      }
      
  if(ObjectFind(\"cp_1\") != 0)
      {
      ObjectCreate(\"cp_1\", OBJ_HLINE, 0, Time[20], Line_1);
      ObjectSet(\"cp_1\", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet(\"cp_1\", OBJPROP_COLOR, Color1);
      }
      else
      {
      ObjectMove(\"cp_1\", 0, Time[20], Line_1);
      }
      
   if(ObjectFind(\"cp_2\") != 0)
      {
      ObjectCreate(\"cp_2\", OBJ_HLINE, 0, Time[20], Line_2);
      ObjectSet(\"cp_2\", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet(\"cp_2\", OBJPROP_COLOR, Color2);
      }
      else
      {
      ObjectMove(\"cp_2\", 0, Time[20], Line_2);
      }
      
    if(ObjectFind(\"cp_3\") != 0)
      {
      ObjectCreate(\"cp_3\", OBJ_HLINE, 0, Time[20], Line_3);
      ObjectSet(\"cp_3\", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet(\"cp_3\", OBJPROP_COLOR, Color3);
      }
      else ObjectMove(\"cp_3\", 0, Time[20], Line_3);
      
      
   if(ObjectFind(\"cp_4\") != 0)
      {
      ObjectCreate(\"cp_4\", OBJ_HLINE, 0, Time[20], Line_4);
      ObjectSet(\"cp_4\", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet(\"cp_4\", OBJPROP_COLOR, Color4);
      }
      else ObjectMove(\"cp_4\", 0, Time[20], Line_4);
     
         
  
   if(ObjectFind(\"cp_5\") != 0)
      {
      ObjectCreate(\"cp_5\", OBJ_HLINE, 0, Time[20], Line_5);
      ObjectSet(\"cp_5\", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet(\"cp_5\", OBJPROP_COLOR, Color5);
      }
      else
      {
      ObjectMove(\"cp_5\", 0, Time[20], Line_5);
      }
   if(ObjectFind(\"cp_6\") != 0)
      {
      ObjectCreate(\"cp_6\", OBJ_HLINE, 0, Time[20], Line_6);
      ObjectSet(\"cp_6\", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet(\"cp_6\", OBJPROP_COLOR, Color6);
      }
      else
      {
      ObjectMove(\"cp_6\", 0, Time[20], Line_6);
      }
  
   if(ObjectFind(\"cp_7\") != 0)
      {
      ObjectCreate(\"cp_7\", OBJ_HLINE, 0, Time[20], Line_7);
      ObjectSet(\"cp_7\", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet(\"cp_7\", OBJPROP_COLOR, Color7);
      }
      else
      {
      ObjectMove(\"cp_7\", 0, Time[20], Line_7);
      }
   if(ObjectFind(\"cp_8\") != 0)
      {
      ObjectCreate(\"cp_8\", OBJ_HLINE, 0, Time[20], Line_8);
      ObjectSet(\"cp_8\", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet(\"cp_8\", OBJPROP_COLOR, Color8);
      }
      else
      {
      ObjectMove(\"cp_8\", 0, Time[20], Line_8);
      }
  
      
//----
   return(0);
  }
  
//+------------------------------------------------------------------+
发表于:2016-05-14 16:04只看该作者
2楼 
学习学习
韬客社区www.talkfx.co
发表于:2016-06-19 11:41只看该作者
3楼 
非常感谢
韬客社区www.talkfx.co
发表于:2016-06-21 07:49只看该作者
4楼 
很好,谢谢楼主
韬客社区www.talkfx.co
发表于:2016-09-01 08:21只看该作者
6楼 
有图吗
发表于:2016-09-10 12:12只看该作者
7楼 
有图就好了吗
发表于:2017-08-08 23:13只看该作者
8楼 
谢谢楼主分享
韬客社区www.talkfx.co
发表于:2017-09-18 06:26只看该作者
10楼 
没有图吗
韬客社区www.talkfx.co
发表于:2017-11-05 11:10只看该作者
11楼 
谢谢!收藏了
韬客社区www.talkfx.co
发表于:2017-11-05 13:45只看该作者
12楼 
学习了,谢谢分享
韬客社区www.talkfx.co
发表于:2018-06-12 12:40只看该作者
14楼 
看不到效果图
韬客社区www.talkfx.co























