购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.2 MT4自动化交易实例

一个完整的策略需要有条件语句和执行语句,复杂的策略是由众多条件语句和执行语句组成的。因此在实际编程过程中,我们要把策略简化成多个条件语句和执行语句。模块的调用使得这两类语句的编写变得简单和易于掌握,策略的多样化在于模块的灵活调用和举一反三,不存在适应所有策略的一成不变的方法。

下面我们通过一个完整的策略来演示如何灵活使用EA框架第五部分(即区域五)存储的函数模块。这个策略是投资领域中大名鼎鼎的马丁格尔策略,策略的核心是亏损翻倍加仓。整个策略描述如下。

(1)EA运行在“EURUSD”货币对。

(2)当账户中没有空单时,立刻下一张空单(手数为0.02,不设止损、止盈点数)。

(3)空单每亏损200点,再下一张空单(手数为上一张空单的2倍,不设止损、止盈点数)。

(4)当所有空单盈利50美元时,全部平仓。

(5)平仓完毕后,循环执行第(2)、(3)、(4)步。

分析这个策略,可以看出亏损翻倍加仓分别由两个条件语句和执行语句组成,我们只需完成条件语句和执行语句的编写,就完成了整个策略的程序化。在编程过程中涉及对模块的调用和模块所包含的参量的使用。马丁格尔策略模块化编程源码如下。

在编程过程中,我们通过调用户口检查管理()模块,获取了空单的数量(s)、上一张空单的开盘价格(Last Pricesell)、空单的盈利(sprofit)、上一张空单的开单量(SLASTLOTS),以及卖出()模块和关闭卖出()模块,通过对这些模块的调用和参量的组合,完成了马丁格尔策略的编写。可以看到在主程序模块(也就是策略的核心部分)只有几行代码,十分简洁。

这只是一个示例,目的是抛砖引玉,希望广大读者能够多练习、多实践,通过这个例子学会模块化编程,发挥程序自动化交易的最大功用。 DDzyF/olBFk/3g+wm4L9AhDNPR1X/SQVuobnzrk9bZy5oyHx3SaKiSStVDrzcpiw

点击中间区域
呼出菜单
上一章
目录
下一章
×