3.2 逻辑分析

3.2  逻辑分析

谈及逻辑执行,这可是计算机程序的强项,一个制定好的逻辑程序交给计算机要比人工的执行力强得多。

随着外汇EA化程度越来越高,许多人开始研究人工智能的计算模型,试图让计算机具备学习能力,来对付千变万化的汇市。最近类似网格、云计算等人工智能专业术语充斥了整个EA世界。

我们不是专家,我们的目的是充分利用计算机的逻辑执行能力来辅助我们的决策,这就简单了。

上一节针对外汇交易流程及风险控制的论述可以得出这样一个结论:外汇交易行为中有99%是逻辑行为,剩下的1%是突发性事件因素,而对付突发性事件的解决方案就是设置合理的能够承受的止损空间,这仍然可以归类到逻辑行为。

本节着重针对交易行为和交易策略进行逻辑化、程序化的分析,旨在为下一节编制代码拟定一个准确详细的流程。

学会流程分析是编程的必要条件。

3.2.1  EA逻辑框架

MQL4语言为EA制定了一个固定的框架,如图3 -2所示。

参数定义模块放置当前EA的属性,包括EA运行前需要人工定义的一些市场必需的参数(如止损、止盈点等),还可以包括一些外部函数库的调用和图表基本属性(如线型、颜色等)的定义。

初始化定义模块在EA运行时会先执行一次,一般用于进行和图表有关的一些属性的设置,也可以对后续程序中需要调用的变量给出初始值。

预定义函数模块在策略参数被修改后会执行一次,紧接着再执行初始化定义模块,策略首次导人图表时不执行该模块代码。

操盘控制模块是EA主模块,当市场出现每一次价格变动时都会执行一次。

3.2.2  操盘控制模块流程图

操盘控制模块流程如图3一3所示。

细心的人会发现,上面这个流程图中居然没有平仓的动作。这是个有趣的话题,另外找时间慢慢思考回味吧!