MetaTrader(MT)4.0编程Step by Step

楼主  收藏   举报   帖子创建时间:  2019-05-05 14:58 回复:0 关注量:964
MT4.0和3.x相比,编程语言迥然不同,基本上是C语言的翻版,所以有一些C语言基础是很容易学会MT编程的。
MT4.0可以编写的程序有好几类,主要是自动交易程序和指标,估计大家都是为了给自己的投资策略,所以接下来只介绍自动交易程序。


   1. MT程序的语法
   MT程序既然是C语言的翻版,语法和C语言当然很接近了,用有限的篇幅来说明其语法似乎是一个不能完成的任务,我这里只能告诉大家如何去学习。
  语法说明可以在meta Editor的帮助中找到,在工具栏上点MQL Navigator,就会弹出MT编程的导航,其中Dictionary就是语言和函数库的帮助。
  在这个树状帮助目录下,语法的说明在Basic下,主要包括Syntax, Data type, Operations & expressions, Operators, Functions, Variables, Preprocessor.如果会C的话,粗略看一下即可,如果不会,结合例程学习一遍吧。

由于帮助基本是英文的,所以刚开始学还是有难度的,不过没有办法,啥时候能出个中文版的就好了。学习的时候,从一些现成的程序进行学习和修改是加快学习的一个办法,下面的Grid 交易程序就是一个很好的例子。

   2. 函数库
   MT的函数库帮助进行了分类,看起来还是比较方便的。这里也没有办法详细介绍,做一个扼要介绍。
   还是在帮助的Dictionary下,看这些帮助要考验一下大家的英文,特别要涉及到金融和计算机专业英语。包括以下几类:

  (1) Stardard constants
也就是系统定义的标准常量,主要是一些枚举类型和窗口常量等,一般先不用管它,在别的地方会链接过来

  (2) Predifined variables
一些系统常量,包括买入价,卖出价,最高、最低价等,还是很有用的,不过不太多,挨个儿看一下吧。

  (3) Account Information
  账户有关的函数

(4) Array functions
数组处理函数。

(5) Common functions
常用处理函数。

(6) Conversion functions
转换函数,主要是字符串和主要类型之间的转换函数。

(7) Custom Indicators
编写自定义指标用到的函数,如果不编写自定义指标的话,可以不管它。

(8) Date&Time functions
时间日期有关的函数

(9) File functions
文件处理函数

(10) Globle variables
全局变量有关的处理函数。

(11) Math & amp; Trig
数学计算函数

(12)Object functions
对象处理函数,主要是在图表中处理对象的函数,对象是指直线、文本等。

(13) String functions
字符串处理函数。

(14) Technical indicators
技术指标函数,相信大家一定会经常用到的。大家通过指标的英文,应该比较容易看出来谁是谁。

(15) Trading functions
交易函数。这一类对自动交易系统是很重要的。

(16) Window functions
窗口处理函数,基本不需要用到。

3. 创建程序
  在MT的程序组中,有一个meta Editor,这就是MT的编译器,还是很容易上手的。用过Visual Studio C++的人一看,有点熟,对吧?
  首先,点击菜单File->New,弹出对话框,程序类型选择Expert Advisor,后面按导航操作输入名称即可。这样一个简单的MT空白交易程序就创建了,点按钮Compile或直接按快捷键F5就可以编译通过了。因为是空白的,这时候它什么也不能干。
  注意:自动交易程序一定要存放在安装目录下的Experts子目录。

4. 修改
(1)全局变量
在程序的开头,可以定义一下全局变量。前面加extern的全局变量的值,在自动交易程序启动的时候可以直接在MT改,不需要重新编译。

(2)入口函数
MT程序的调用入口是start()函数,和C程序的main()函数是一样的,一般就在这里写处理过程即可。

(3) 子函数
比较复杂的过程,可以写子函数,在start()函数里调用子函数。
打赏