【漆学军】EA编程速成教程(1)准备知识

admin   ·   发表于 16天前   ·   MQL4语言教程

大家好,我是漆天编程团队的漆学军,也是MT4专家论坛的创办者,下面是我为大家准备的《EA编程速成教程》第一课。

EA编程速成教程要求你必须了解并具备如下一些知识和能力:

第一、需要具备一定的编程基础,最好是熟悉任意一门传统编程语言,比如说C语言,VB等等,都可以,需要了解程序的逻辑。

第二、你需要了解MT4是什么,MT4就是MetaTrader 4外汇交易软件。

第三,你需要了解EA是什么,我相信您肯定知道什么是EA,EA就是Expert Adviser(智能交易系统),EA就是使用MQL4语言编写的程序,EA程序使用在MT4软件上面,可帮你自动进行外汇黄金期货交易,至于什么时候交易,怎样买卖,什么时候平仓等等问题,就看你的EA代码是怎样写的了。EA本身没有分析判断能力,我们写EA的人想要让EA具备什么能力,EA就可以具备什么能力。 什么是速成教程? 就是教会你在很短很短的时间内就可以学会如何编写EA,这个时间究竟有多长,不仅在于你的基础和理解能力,更在于你愿意花多少时间来跟随我学习。 预计快的话1到3天,慢的话5到10天即可。 什么叫“易学难精”? 就是你很快的就上手,难在成为厉害的高手。 这需要时间去多多看别人的代码,多多写自己的代码。 久而久之你就可以是EA编写高手了。

学会了EA编程之后,建议先去为别人写写代码,一来可以自己多多练手,二来可以搜集各种各样的策略,最终为自己设计策略编写EA服务。

下面进入正题,首先来看看一个MT4是什么样子的。

MetaTrader4软件界面

在MT4软件上点“工具”菜单,即可看到“MQ语言编辑器”,点击即可打开

MetaEditor

我们新建一个空的EA程序,系统默认自带了部分EA属性和3个函数如下:

默认空的EA程序代码

我们来对这段代码做个简单的解释:

1到5行,还有10,11,12,20,21,22等等,由双斜杠(“//”)开头的行为注释行,程序不会执行,只会在编辑代码的时候帮助我们了解程序。

6,7,8,9行是由“#property”开始,property在英文里面是属性的意思,代表这几行展示了EA的相关属性。

13到19行是初始化函数OnInit(),意思是EA刚被加载到图表上去正是运行之前执行的一些初始化操作。

23到27行是反初始化函数OnDeinit(),细心地朋友可以发现,这个函数和初始化函数非常相似,就是在Init前面加了个De,所以被称为反初始化函数,此函数在关闭MT4,卸载EA之后执行一次。

31到35行为EA的tick函数,意思就是加个每波动一次,执行一次函数体里面的代码。 什么是mq4格式文件? EA制作好了就保存成mq4的文件 这文件是程序源码文件,可以修改的。 什么是ex4格式文件? EA制作好了,之后 按“编写”,如果程序编译过程中没有出现错误,就会保存为ex4的文件。 这文件是二进制加密文件,不可以被修改的。

0 Reply   |  Until 16天前 | 24 View
LoginCan Publish Content