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

阅读 :
欢迎访问 外 汇 邦 WWW.WaiHuiBang.com

代码如下:

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);
}

欢迎访问 外 汇 邦 WWW.WaiHuiBang.com
本文标题:MQL4实例EA教程:连拉3个阴柱或阳柱后做交易 - MT4平台MQL4编程学习
本文地址:http://www.ea666.cn/fxschool/autotrading/mql4/40712.html

相关文章

  • MT4自带EA:MACD Sample详解与实战分析

    以上就是MT4自带EA:MACD Sample的解读,这个程序虽然比较复杂但是它却是一个很好的例子,里面涉及到了我们在写EA程序过程中经常用到的一些功能,对于初学EA程序的人来说帮助很大,我们也可以修改这个程序的开仓、平仓部分使用我们自己的逻辑把它变成我们自己的交易策略。...

    MQL4编程学习
  • MQL4对象操作函数(一)

    ObjectCreate() &#8211; 创建对象ObjectDelete() &#8211; 删除对象ObjectDescription() &#8211; 获取对象描述ObjectFind() &#8211; 查找指定对象ObjectGet() &#8211; 获取指定对象的属性值ObjectSet() &#...

    MQL4编程学习
  • MT4编程入门
    MT4编程入门

    MT4编程入门1:MT4自定义指标的保存目录、指标编缉一、文件菜单中选择“打开数据文件夹”,然后进入MQL4\Indicators 子目录,MT4自定义指标即保存在此目录中。 该目录中主要有二种类型的文件,一种是mq4文件,这是MT4自定义指...

    MQL4编程学习
  • 阿里云ECS服务器优惠打折促销活动及阿里云各类产品优惠券、代金券、优惠码
    阿里云ECS服务器优惠打折促销活动及阿里云各类产品优惠券、代金券、优惠码

    阿里云产品代金券限量领取链接:阿里云1888元代金券大礼包 阿里云ECS入门级服务器优惠2折入口:爆款云服务器低至2折,1核1G ECS云服务器低至293元/年 阿里云企业级高性能云服务器优惠购买通道:更高计算网络性能,助力企业上...

    MQL4编程学习
  • 非对称型网格交易法
    非对称型网格交易法

    1,在H1图上建立MA800的平均移动线.MA800大致就是一个半月的均线,用于找到一定时期内的价格重心。2,在MA800的上、下方600点位置为边界。 3,当处于上边界线时,BUY为0.01手,SELL为0.2手;反之,在下边界线时,BUY为0.2手,SELL为0....

    MQL4编程学习
你可能感兴趣