xiwa2012 发表于 2011-12-5 08:02:12

bull等前辈们请进。能帮我在指标里加一个发送Email的语句么

就是那个Top_Stop_v1的指标
代码如下:
[*]#property copyright "Copyright ?2005, TrendLaboratory Ltd."
[*]#property link      "E-mail: igorad2004@list.ru"
[*]
[*]#property indicator_chart_window
[*]#property indicator_buffers 6
[*]#property indicator_color1 Aqua
[*]#property indicator_color2 Magenta
[*]#property indicator_color3 Aqua
[*]#property indicator_color4 Magenta
[*]#property indicator_color5 Aqua
[*]#property indicator_color6 Magenta
[*]//---- input parameters
[*]extern int ChannelPeriod=7;
[*]extern double Risk=0.3;
[*]extern int Signal=1;
[*]extern int Line=1;
[*]extern int Nbars=2000;
[*]//---- indicator buffers
[*]double UpTrendBuffer[];
[*]double DownTrendBuffer[];
[*]double UpTrendSignal[];
[*]double DownTrendSignal[];
[*]double UpTrendLine[];
[*]double DownTrendLine[];
[*]//+------------------------------------------------------------------+
[*]//| Custom indicator initialization function                         |
[*]//+------------------------------------------------------------------+
[*]int init()
[*]{
[*]   string short_name;
[*]//---- indicator line
[*]   SetIndexBuffer(0,UpTrendBuffer);
[*]   SetIndexBuffer(1,DownTrendBuffer);
[*]   SetIndexBuffer(2,UpTrendSignal);
[*]   SetIndexBuffer(3,DownTrendSignal);
[*]   SetIndexBuffer(4,UpTrendLine);
[*]   SetIndexBuffer(5,DownTrendLine);
[*]   SetIndexStyle(0,DRAW_ARROW);
[*]   SetIndexStyle(1,DRAW_ARROW);
[*]   SetIndexStyle(2,DRAW_ARROW);
[*]   SetIndexStyle(3,DRAW_ARROW);
[*]   SetIndexStyle(4,DRAW_LINE);
[*]   SetIndexStyle(5,DRAW_LINE);
[*]   SetIndexArrow(0,159);
[*]   SetIndexArrow(1,159);
[*]   SetIndexArrow(2,108);
[*]   SetIndexArrow(3,108);
[*]//---- name for DataWindow and indicator subwindow label
[*]   short_name="PriceChannel_Stop_v1("+ChannelPeriod+")";
[*]   IndicatorShortName(short_name);
[*]   SetIndexLabel(0,"UpTrend Stop");
[*]   SetIndexLabel(1,"DownTrend Stop");
[*]   SetIndexLabel(2,"UpTrend Signal");
[*]   SetIndexLabel(3,"DownTrend Signal");
[*]   SetIndexLabel(4,"UpTrend Line");
[*]   SetIndexLabel(5,"DownTrend Line");
[*]//----
[*]   SetIndexDrawBegin(0,ChannelPeriod);
[*]   SetIndexDrawBegin(1,ChannelPeriod);
[*]   SetIndexDrawBegin(2,ChannelPeriod);
[*]   SetIndexDrawBegin(3,ChannelPeriod);
[*]   SetIndexDrawBegin(4,ChannelPeriod);
[*]   SetIndexDrawBegin(5,ChannelPeriod);
[*]//----
[*]   return(0);
[*]}
[*]//+------------------------------------------------------------------+
[*]//| PriceChannel_Stop_v1                                             |
[*]//+------------------------------------------------------------------+
[*]int start()
[*]{
[*]   int    i,shift,trend;
[*]   double high, low, price;
[*]   double smax,smin,bsmax,bsmin;
[*]   
[*]   for (shift=Nbars-1;shift>=0;shift--)
[*]   {
[*]   UpTrendBuffer=EMPTY_VALUE;
[*]   DownTrendBuffer=EMPTY_VALUE;
[*]   UpTrendSignal=EMPTY_VALUE;
[*]   DownTrendSignal=EMPTY_VALUE;
[*]   UpTrendLine=EMPTY_VALUE;
[*]   DownTrendLine=EMPTY_VALUE;
[*]   }
[*]   for (shift=Nbars-ChannelPeriod-1;shift>=0;shift--)
[*]   {      
[*]      high=High; low=Low; i=shift-1+ChannelPeriod;
[*]      while(i>=shift)
[*]      {
[*]         price=High;
[*]         if(highprice)low=price;
[*]         i--;
[*]      }
[*]   smax=high;
[*]   smin=low;
[*]   
[*]   bsmax=smax-(smax-smin)*Risk;
[*]          bsmin=smin+(smax-smin)*Risk;
[*]   
[*]   if (Close>bsmax)trend=1;
[*]          if (Close0 && bsmin0)
[*]          {
[*]             if (Signal>0 && UpTrendBuffer==-1.0)
[*]             {
[*]             UpTrendSignal=bsmin;
[*]            
[*]             if(Line>0) UpTrendLine=bsmin;
[*]             }
[*]             else
[*]             {
[*]             UpTrendBuffer=bsmin;
[*]             if(Line>0) UpTrendLine=bsmin;
[*]             UpTrendSignal=-1;            
[*]             }
[*]          if (Signal==2) UpTrendBuffer=0;   
[*]          DownTrendBuffer=-1.0;
[*]          DownTrendLine=EMPTY_VALUE;
[*]
[*]          }
[*]          if (trend0 && DownTrendBuffer==-1.0)
[*]             {
[*]             DownTrendSignal=bsmax;
[*]
[*]             if(Line>0) DownTrendLine=bsmax;
[*]             }
[*]             else
[*]             {
[*]             DownTrendBuffer=bsmax;
[*]             if(Line>0)DownTrendLine=bsmax;
[*]             DownTrendSignal=-1;            
[*]             }
[*]          if (Signal==2) DownTrendBuffer=0;   
[*]          UpTrendBuffer=-1.0;
[*]          UpTrendLine=EMPTY_VALUE;
[*]          }
[*]         
[*]         
[*]   }
[*]   return(0);}

复制代码
            2011-6-23 09:51 上传
下载附件 (30.83 KB)   


      
我想在每次变盘。也就是那个圆圆的图标出现时给我发email,其实发邮件的语句也找到了:SendMail( Symbol()+DoubleToStr(Close,Digits),"" );
可是我不论放在代码哪个位置。。它就是不管不顾的拼命发邮件。。。。一分钟发几十封。。。可我只想在变盘的时候发一封啊。。请各位大侠指点一二啊

火凤凰一辉 发表于 2012-11-25 16:59:05

EA要好!

hate 发表于 2012-11-25 16:59:05

顶的就是你

小飞鱼常春 发表于 2012-11-25 18:27:51

唉,悲催的外汇。。

□o□ 发表于 2012-11-25 18:27:51

哪里可以下载到好的EA哦

愚人码头 发表于 2012-11-25 18:27:51

给推荐一个好的平台,这样EA才能很好的发挥啊

liulinqi05 发表于 2012-11-25 18:27:51

…没我说话的余地…飘走

稳赚 发表于 2012-11-25 18:27:51

这个站不错!!

落羽 发表于 2012-11-25 18:27:51

支持一下吧

nord 发表于 2015-1-24 23:20:47

nice!!!!!!!!!!!!
页: [1] 2
查看完整版本: bull等前辈们请进。能帮我在指标里加一个发送Email的语句么