邮箱:service@fxzht.com ;QQ:1799734181

微信公众号
手机版
郑重声明

MQL4实例EA教程:连拉3个阴柱或阳柱后做交易

2019-05-24 12:07:11 投稿人 : 佚名 阅读 : 评论

代码如下:

int MAGIC=35207814;

extern double lots=1;

//+------------------------------------------------------------------+

//| 下面定义start函数,函数会在价格每次波动的时候运行。

//+------------------------------------------------------------------+

int start()

  {

 

  if(CalculateCurrentOrders(Symbol())==0)  //当前帐户订单为0时,继续下面的代码,也就是说,如果已经成交了,即使出现信号也不会再次成交。

   {     

   double StopLoss;

   double TakeProft;

     if(Signal()==-1)//卖出信号出现

       {      

       StopLoss=Open[3];//设定止损第三根k线的开盘价

       TakeProft=2*(Open[1]-Close[1]+Open[2]-Close[2]+Open[3]-Close[3])/Point;//设定止盈为前面三根k线总和的2倍

       if(OrderSend(Symbol(),OP_SELL,lots,Bid,3,StopLoss,Bid-TakeProft*Point,0,MAGIC,0,Blue)<0)//如果卖出失败

       Alert("auto sell is failed!---"+GetLastError());//弹窗报警并且显示失败代码

       else return(0);//交易成功就返回不执行下面的代码。

       }

     if(Signal()==1)//买入信号出现

       {

       StopLoss=Open[3];//设定止损第三根k线的开盘价

       TakeProft=2*(Close[1]-Open[1]+Close[2]-Open[2]+Close[3]-Open[3])/Point;//设定止盈为前面三根k线总和的2倍

       if(OrderSend(Symbol(),OP_BUY,lots,Ask,3,StopLoss,Ask+TakeProft*Point,0,MAGIC,0,Red)<0)//如果买入失败

       Alert("auto buy is failed!---"+GetLastError());//弹窗报警并且显示失败代码

       else return(0);//交易成功就返回不执行下面的代码。    

       } 

   }

//----

   return(0);

  }

//+------------------------------------------------------------------+

int CalculateCurrentOrders(string symbol) //本函数用来返回本ea下单并且没有平仓的订单数目

  {

   int ors=0;

   for(int i=0;i<OrdersTotal();i++)

     {

      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;

      if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC)

      {

      if(OrderType()==OP_BUY)  ors++;

      if(OrderType()==OP_SELL) ors++;

      }

     }

   return(ors);

     } 

//*************交易信号,返回值是1便是买入,-1就是卖出,0是没有信号

int Signal()

{

int res;

if(Close[1]>Open[1] && Close[2]>Open[2] && Close[3]>Open[3]) //买入信号:连续三根k线为阳线

res=1;

if(Close[1]<Open[1] && Close[2]<Open[2] && Close[3]<Open[3]) //卖出信号:连续三根k线为阴线

res=-1;

return(res);

}


相关文章

留言与评论(共有 0 条评论)
   
验证码: