外汇阁首页 > 交易产品 > 外汇 > 炒外汇

mt4怎么编写ea(MT4编写ea步骤)

2022-04-12    分类:外汇    阅读:247

当年,要不是因为外汇交易领域平台的各种灰暗,我估计会一直奋斗在外汇和黄金品种上,外汇程序化交易也不会停下脚步。

假如外汇领域和股票及期货能够真正处于一个公平的线上,我一定会选择做外汇交易。不论是成交机制,还是交易制度,交易时间,外汇交易都大大优于股票交易及期货交易。

且不论几乎24小时运转的外汇走势能提供更多的交易机会,单单是单子成交方面,外汇都是远胜于股票及期货。例如,我曾经的期货程序化单子或者人工挂单,价格都到过目标价格几次了,但就是无法成交。这些是成交机制的问题,期货是撮合成交机制,你要成交一个买单,必须有一个对应的卖单撮合到了才能成交。同一个点位如果你的申请前面还有较多的申请(比如前面已经有一万手),你要等前面的一万手都成交了才能轮到你这笔申请成交。

这就造成了根据信号有时候该进的单没进到,该出的单没出掉,或者没有能够按照既定计划及点位来成交,这对交易产生一定的影响。

对于期货程序化而言,这个撮合成交的机制,也会导致期货程序化的测试和实盘效果无法完全一致。例如测试的时候系统只会按照信号去指示出开仓点位和平仓点位,并计算出点位盈亏结果。但测试的结果不会考虑实盘交易的时候信号能否成交和如何成交,所以实盘的结果和测试的结果是有可能不一样的。

按照撮合成交机制,如果实盘中出现交易信号,系统自然会把开仓或平仓申请发出去,但是假如波动较激烈,有可能还没轮到自己的申请单撮合成交,价格就已经变动了,最终导致实盘没有单子成交,或者哪怕设置了短时间若不成交就撤回原申请并重新发新的申请,最终的成交也脱离了原本信号的意愿和点位。

我的程序化就经历过试过交易信号虽然出来了,交易程序也把开仓或平仓的申请发出去了,但最终没有真实单子能够成交的情况。当然这只是期货程序化的问题之一,而期货程序化的问题并不止于这一个。

程序化交易系列之七:如何在MT4上编写并测试双均线交易EA?

但是做过外汇的朋友都知道,外汇基本上只要点位到达了单子必然成交。当年我挂外汇EA,没有遇到过有交易信号出来但无法按信号成交的事情。

做股票和期货,最大优胜的地方,就是资金安全绝对有保证。外汇交易的各方面都挺好,可惜所有平台(在我们大陆)都没有资金安全的保障。对比之下,还是资金安全最重要,不是吗?

假如未来我们做外汇能够放心,我自然还会重新做起外汇来。今天讲一下外汇MT4编写交易EA并且测试的大致步骤。

第一步,打开MT4,找到MQ语言编辑器创建一个新EA,若有不会的朋友可参考下面两个操作即可。

  1. 在软件上方找到编辑器按钮(新订单按钮旁边那个像书本一样的按钮),点击打开后创建一个EA。

  2. 也可以在导航器中找到EA交易一栏,鼠标右键选择“MetaEtidor”创建一个EA。

第二步,按照MQL导向,一直“下一步”直到完成。这过程只需要自己给EA起个名字就可以了,比如下面我建立一个叫“双均线”的EA。

程序化交易系列之七:如何在MT4上编写并测试双均线交易EA?

第三步,在EA编辑器里编辑交易公式。

MT4的EA编写大概(默认)有以下几个部分,都是英文和代码,具体意思不一一深究,感兴趣的朋友请资料搜索相关资料去学习即可。

程序化交易系列之七:如何在MT4上编写并测试双均线交易EA?

写代码并不是好玩的事,除非有兴趣或者很热爱。我写代码水平不行,只是为了要搞自己需要的EA才自学了点皮毛。

对于自己已经有代码的朋友,可以把编辑区域清空,并复制自己的代码进去就可以了。代码编写完成后,点击上方“编写”打钩按钮,让软件检测是否有代码错误。如果有错误,会在底下有说明,如果无误,会显示没错误(0 errors)

我自己有个双均线交叉的EA代码,这里分享出来,仅供参考。

双都线测试代码.txt

代码里均线参数是10和20并非表示这两数字是最好的参数,实际上也没有哪个是最好的参数,任何指标,任何参数,都只能够适应某个品种或者某个时期或者某种类型的走势,不可能应对得了市场上一切行情。

任何指标,一旦你固定为某个参数,可能又有人认为你是参数拟合。所以声明一下,参数是可以自由改动的,请在上面自己修改为自己需要的参数即可。

第四步,把编写好的EA加载到走势图里。

导航器的EA交易栏里本身已经有默认的两个EA,一个是MACD指标,一个是均线Moving指标。当你编写好自己的EA,它会出现在导航器的EA交易栏目下。

程序化交易系列之七:如何在MT4上编写并测试双均线交易EA?

鼠标对着EA点右键选择“附加到图标”,或者鼠标直接拖到走势图上。在拖进去的过程中,记得在EA属性框“常用”项下的“允许实时自动交易”打钩。确定后,EA圆脸就出现在走势图的右上角位置了。

程序化交易系列之七:如何在MT4上编写并测试双均线交易EA?

第五步,对EA进行测试。操作如下:

软件上方点“显示”,再点“EA交易测试”调出测试设置终端。选择好需要测试的EA、测试的交易品种、周期盘面等等,就可以点“开始”按钮进行测试了。

程序化交易系列之七:如何在MT4上编写并测试双均线交易EA?

最好是把“复盘显示”的勾给打上,这样可以看到复盘测试的过程。

复盘测试的过程可以看出信号是否按照预定的设计进行,复盘显示后面的速度条可以快可慢,根据个人需要。可以一边看复盘测试过程,一边看净值图,以便观察什么样的行情会让发生盈利,什么样的行情会导致资金亏损回撤。

程序化交易系列之七:如何在MT4上编写并测试双均线交易EA?

如果需要测试跨度很长的周期,需要先下载该品种更早期的历史数据。在“工具”中的“历史数据中心”里面下载即可。

外汇软件中,MT4目前依然是比较流行的,但流行的主角迟早会转移到MT5上,建议做外汇的朋友多多学习MT5,毕竟两者的EA代码编写规则不一样。

合作平台

  • 福汇
  • KVB
回到顶部
在线客服系统