如何用MQL4语言 编写外汇趋势交易程序

2025-10-09 06:28:45

1、新建EA程序:打开MQL4编辑器,新建一个EA,起名MyEA,点击下一步进入编程界面

如何用MQL4语言 编写外汇趋势交易程序

如何用MQL4语言 编写外汇趋势交易程序

2、界面上三个函数

OnInit()是初始化函数,当载入EA的时候执行一次;

OnDeinit(const int reason)是当关闭EA的时候执行一次;

void OnTick()函数,是当每个价格到达的时候执行;

3、在开头部分需要填写的外部可设置的参数(包括止盈,止损,交易手数,两个均线的周期 ,一个20日均线,一个5日均线)

extern double TakeProfit = 50;   //止盈点数

extern double StopLoss = 20;     //止损点数

extern double Lots = 0.1;        //交易手数

extern double Poin;              //平台最小报价单位

extern int MAPeriodSlow=20;      //20日移动平均

extern int MAPeriodfast=5;       //5日移动平均

如何用MQL4语言 编写外汇趋势交易程序

4、在OnInit()函数中编写初始化函数,主要是为了统一不同币种最小报价单位

          if (Point == 0.00001) Poin = 0.0001; //6 digits

          else if (Point == 0.001) Poin = 0.01; //3 digits (for Yen based pairs)

          else Poin = Point; //Normal

如何用MQL4语言 编写外汇趋势交易程序

5、在OnDeinit()函数中填写逻辑和交易函数

 double myMAslow,myMAfast,myMAslow1,myMAfast1;

      int i=0;

      myMAslow=iMA(Symbol(),0,MAPeriodSlow,0,MODE_SMA,PRICE_CLOSE,0);

      myMAfast=iMA(Symbol(),0,MAPeriodFast,0,MODE_SMA,PRICE_CLOSE,0);

      

      myMAslow1=iMA(Symbol(),0,MAPeriodSlow,0,MODE_SMA,PRICE_CLOSE,1);

      myMAfast1=iMA(Symbol(),0,MAPeriodFast,0,MODE_SMA,PRICE_CLOSE,1);

      

      //上穿买入 平掉趣吩卖单

      if(myMAfast>myMAslow && myMAfast1<myMAslow1)

      {

         if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderType()==OP_SELL) 

            OrderClose(OrderTicket(),OrderLots(),Ask,3,CLR_NONE);

            

         if(OrdersTotal()==0) 

            OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-StopLoss*Poin,Ask+TakeProfit*Poin,"TF0_1",0,Green);

      }

      //下穿卖出   平掉番之劣买单

      if(myMAfast<myMAslow && myMAfast1>myMAslow1)

      {      

         if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderType()==OP_BUY) 

            OrderClose(OrderTicket(),OrderLots(),Bid,3,CLR_NONE);

            

         if(OrdersTotal()==0) 

            OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+StopLoss*Poin,Bid-TakeProfit*Poin,"TF0_1",0,Red);

      }

如何用MQL4语言 编写外汇趋势交易程序

6、最后回测一下效果,点击测量测试,或者显示中的EA测试选项(或者Ctrl+R键),

选择你的EA,选择测试货币对,点击复盘显示,选择时选诸间周期进行测试,最后点击测试进行复盘测试。

如何用MQL4语言 编写外汇趋势交易程序

如何用MQL4语言 编写外汇趋势交易程序

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢