当前位置:首页 > 学习资料 > EA那些事 > 正文

指标:自动画趋势线

2020-02-05 16:42:53

自动画趋势线 +------------------------------------------------------------------+ |

自动画趋势线

 

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
//+------------------------------------------------------------------+//|                                                      ProjectName |//|                                      Copyright 2018, CompanyName |//|                                       http://www.companyname.net |//+------------------------------------------------------------------+#property  copyright "ea那些事"//----------------------------------#property indicator_chart_window//----------------------------------extern int Hours=24;extern color col=SkyBlue;//------------------double lr,lr0,lrp;double sx,sy,sxy,sx2,aa,bb;int p,fs;int f,f0,f1;double dh,dl,dh_1,dl_1,dh_2,dl_2;int ai_1,ai_2,bi_1,bi_2;double hai,lai,dhi,dli,dhm,dlm,ha0,hap,la0,lap;double price_p1,price_p0,price_p2,price_01,price_00,price_02;int p1,p0,p2,fp;string sName="ang_autoch_hl";//*****************************************int init(){   p=Hours*60/Period();   if(fs==0)     {      fs=1;     }   return(0);  }//*******************************int deinit(){   ObjectDelete("1"+sName);   ObjectDelete("0"+sName);   ObjectDelete("2"+sName);  }//*******************************int start(){   int i,n;//------------------------------------------------------------------------------   if(f==1)     {      p1=iBarShift(Symbol(),Period(),ObjectGet("1"+sName,OBJPROP_TIME1));      p0=iBarShift(Symbol(),Period(),ObjectGet("0"+sName,OBJPROP_TIME1));      p2=iBarShift(Symbol(),Period(),ObjectGet("2"+sName,OBJPROP_TIME1));      if(fp==0 && p!=p1)        {         p=p1;         fp=1;        }      if(fp==0 && p!=p0)        {         p=p0;         fp=1;        }      if(fp==0 && p!=p2)        {         p=p2;         fp=1;        }     }//====================================================   sx=0;   sy=0;   sxy=0;   sx2=0;   for(n=0; n<=p; n++)     {      sx+=n;      sy+=Close[n];      sxy+=n*Close[n];      sx2+=MathPow(n,2);     }   aa=(sx*sy-(p+1)*sxy)/(MathPow(sx,2)-(p+1)*sx2);   bb=(sy-aa*sx)/(p+1);//----------------------------------------------------   for(i=0; i<=p; i++)     {      lr=bb+aa*i;      dh=High[i]-lr;      dl=Low[i]-lr;      //----------------------------------------------------      if(i<p/2)        {         if(i==0)           {            dh_1=0.0;            dl_1=0.0;            ai_1=i;            bi_1=i;           }         if(dh>=dh_1)           {            dh_1=dh;            ai_1=i;           }         if(dl<=dl_1)           {            dl_1=dl;            bi_1=i;           }        }      //----------------------------------------------------      if(i>=p/2)        {         if(i==p/2)           {            dh_2=0.0;            dl_2=0.0;            ai_2=i;            bi_2=i;           }         if(dh>=dh_2)           {            dh_2=dh;            ai_2=i;           }         if(dl<=dl_2)           {            dl_2=dl;            bi_2=i;           }        }     }//-------------------------------------   lr0=bb;   lrp=bb+aa*(i+p);//===================================================   if(MathAbs(ai_1-ai_2)>MathAbs(bi_1-bi_2))      f=1;   if(MathAbs(ai_1-ai_2)<MathAbs(bi_1-bi_2))      f=2;   if(MathAbs(ai_1-ai_2)==MathAbs(bi_1-bi_2))     {      if(MathAbs(dh_1-dh_2)<MathAbs(dl_1-dl_2))         f=1;      if(MathAbs(dh_1-dh_2)>=MathAbs(dl_1-dl_2))         f=2;     }//=================================================   if(f==1)     {      for(n=0; n<=20; n++)        {         f1=0;         for(i=0; i<=p; i++)           {            hai=High[ai_1]*(i-ai_2)/(ai_1-ai_2)+High[ai_2]*(i-ai_1)/(ai_2-ai_1);            if(i==0 || i==p/2)               dhm=0.0;            if(High[i]-hai>dhm && i<p/2)              {               ai_1=i;               f1=1;              }            if(High[i]-hai>dhm && i>=p/2)              {               ai_2=i;               f1=1;              }           }         if(f==0)            break;        }      //----------------------------      for(i=0; i<=p; i++)        {         hai=High[ai_1]*(i-ai_2)/(ai_1-ai_2)+High[ai_2]*(i-ai_1)/(ai_2-ai_1);         dli=Low[i]-hai;         if(i==0)            dlm=0.0;         if(dli<dlm)            dlm=dli;        }      ha0=High[ai_1]*(0-ai_2)/(ai_1-ai_2)+High[ai_2]*(0-ai_1)/(ai_2-ai_1);      hap=High[ai_1]*(p-ai_2)/(ai_1-ai_2)+High[ai_2]*(p-ai_1)/(ai_2-ai_1);      //----------------------------      price_p1=hap;      price_p0=hap+dlm/2;      price_p2=hap+dlm;      price_01=ha0;      price_00=ha0+dlm/2;      price_02=ha0+dlm;     }//=================================================   if(f==2)     {      for(n=0; n<=20; n++)        {         f1=0;         for(i=0; i<=p; i++)           {            lai=Low[bi_1]*(i-bi_2)/(bi_1-bi_2)+Low[bi_2]*(i-bi_1)/(bi_2-bi_1);            if(i==0 || i==p/2)               dlm=0.0;            if(Low[i]-lai<dlm && i<p/2)              {               bi_1=i;               f1=1;              }            if(Low[i]-lai<dlm && i>=p/2)              {               bi_2=i;               f1=1;              }           }         if(f==0)            break;        }      //----------------------------      for(i=0; i<=p; i++)        {         lai=Low[bi_1]*(i-bi_2)/(bi_1-bi_2)+Low[bi_2]*(i-bi_1)/(bi_2-bi_1);         dhi=High[i]-lai;         if(i==0)            dhm=0.0;         if(dhi>dhm)            dhm=dhi;        }      la0=Low[bi_1]*(0-bi_2)/(bi_1-bi_2)+Low[bi_2]*(0-bi_1)/(bi_2-bi_1);      lap=Low[bi_1]*(p-bi_2)/(bi_1-bi_2)+Low[bi_2]*(p-bi_1)/(bi_2-bi_1);      //----------------------------------------------------------------      price_p1=lap;      price_p0=lap+dhm/2;      price_p2=lap+dhm;      price_01=la0;      price_00=la0+dhm/2;      price_02=la0+dhm;     }//===================================================================================   ObjectCreate("1"+sName,2, 0,Time[p],price_p1,Time[0],price_01);   ObjectCreate("0"+sName,2, 0,Time[p],price_p0,Time[0],price_00);   ObjectCreate("2"+sName,2, 0,Time[p],price_p2,Time[0],price_02);//-----------------------------------------------------------------   ObjectSet("1"+sName,OBJPROP_COLOR,col);   ObjectSet("0"+sName,OBJPROP_COLOR,col);   ObjectSet("0"+sName,OBJPROP_STYLE,STYLE_DOT);   ObjectSet("2"+sName,OBJPROP_COLOR,col);//---------------------------------------------   ObjectSet("1"+sName,OBJPROP_TIME1,Time[p]);   ObjectSet("1"+sName,OBJPROP_PRICE1,price_p1);   ObjectSet("1"+sName,OBJPROP_TIME2,Time[0]);   ObjectSet("1"+sName,OBJPROP_PRICE2,price_01);   ObjectSet("0"+sName,OBJPROP_TIME1,Time[p]);   ObjectSet("0"+sName,OBJPROP_PRICE1,price_p0);   ObjectSet("0"+sName,OBJPROP_TIME2,Time[0]);   ObjectSet("0"+sName,OBJPROP_PRICE2,price_00);   ObjectSet("2"+sName,OBJPROP_TIME1,Time[p]);   ObjectSet("2"+sName,OBJPROP_PRICE1,price_p2);   ObjectSet("2"+sName,OBJPROP_TIME2,Time[0]);   ObjectSet("2"+sName,OBJPROP_PRICE2,price_02);//==================================================================   f=1;   p1=p;   p0=p;   p2=p;   fp=0;//*************************************************************************************   return(0);  }//=====================================================================================//+------------------------------------------------------------------+
关键词:

上一篇: 指标:显示每天开盘价

下一篇: ea:利息变更查看器

声明本站分享的文章旨在促进信息交流,不以盈利为目的,本文观点与本站立场无关,不承担任何责任。部分内容文章及图片来自互联网或自媒体,版权归属于原作者,不保证该信息(包括但不限于文字、图片、图表及数据)的准确性、真实性、完整性、有效性、及时性、原创性等,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。未经证实的信息仅供参考,不做任何投资和交易根据,据此操作风险自担。本站拥有对此声明的最终解释权。