EA编程的第一步 - EA框架设计。要想有条理有目的性的设计好一款EA,你得养成属于自己的编程习惯,为可能遇到或者用到的场景准备好素材,可以是以下方面:
- 常用数组
- 常用变量
- 常用的函数
- 属于自己的EA封面标识
- 符合自己习惯的代码片段
创建一个专属工程文件夹
在EA的总目录Experts右键创建一个文件夹,这个文件夹专门用来存放你编程中所需的任何东西,包括函数库、EA源码、案例等,这样便于管理和使用。
在子目录创建一个ico子文件夹,存放EA封面的logo,对于EA的logo图片,只支持ico格式,比例1:1,尺寸尽量控制在500*500以下!这里给大家推荐个工具网站,可以把常见的图片格式转换为ico格式。
https://convertio.co/zh/ico-converter/
创建和编辑EA封面
做好之后我们得到了一个ico格式的图片,把它存放到刚刚创建的文件夹下,并在工程文件夹根目录创建一个空白的EA模板,代码中声明封面和logo的路径以及完整文件名称,此时我们就把EA的封面就设置好了。
提示:文件和EA本体在同一个根目录的时候,只需要文件名即可,如果在子目录的必须标注子目录名称和用双斜杠分割,封面在编译时会自动封装到ex4里面。
如果你还是觉得这个页面太单调的话,可以加一些文字说明,只需要对代码稍作更改,定义并声明#property description语句,使用字符串形式来编写即可,代码中的 \n 是常用的文本换行符,一起来看看修改后的效果。
定义一些常用的元素
比如像Magic、手数、止盈止损这类,几乎每一个EA都脱离不了的基本参数,把常用的变量或者数组定义好之后,这个源码并可以作为你EA编程的标准模板,每一次使用,复制一份出来直接套用,就不需要每次敲很多重复性的代码。这样不但使代码的重用性提升,编写效率也会突飞猛进。
试想一下,你每次写新的东西只需要打开这一份事先准备好的通用模板,直接编写策略核心,那不是方便又省事?没错,这也是在编程过程中的一个良好习惯,尽可能的发挥你的想象空间,常用的元素包括但不限于我提到的东西,比如封装好的一个移动止损函数等等都可以帮助你养成习惯。
多币种交易框架
在定义常用元素的同时,我们顺便定义了一个用于接收外部同时输入多个自定义货币对的方法,三句代码搞定。先判断外部参数symbol是否不为空,成立后依次把内容使用符号分割并存入指定数组。
以上步骤都完成后,我们来演示一下怎样使用定义好的的多货币数组在一个图表上完成多个币种交易。多货币数组的使用,离不开循环遍历的加入,还不懂循环遍历的伙伴请再次移步之前的文章复习。当然,这里只是为了演示功能的可行性,并不代表你之后的策略一定要用这种方式。
常用元素封装的好处
以下是我自己使用的一些案例,这个案例中是一个用于平仓的全能函数,每次使用只需要传入指定的参数即可根据要求平掉对应的订单。参数包括:货币名称、要平的订单类型、魔号等等。在日常编写的过程中,我们会遇到各种各样的重复性计算流程,如果把这些常用的流程封装成完整的函数,那之后对于一个新的EA开发,也就只剩下最核心的逻辑创造部分了。