< >MT4作为一门语言包含的内容相当多,不过它基本上是与C语言类似,如果你学过C或者VB之类的基础编程,理解起来不是太难,在这里想短篇幅幅搞清楚所有MT4的语法似乎不太可能,建议大家不要想一口吃个胖子,MT4的基本语法说明在下面的帖子http://bbs.520fx.com/dispbbs.asp?boardID=7&ID=58&page=1里可以了解个一二,更深入的部分将以还是在实际编程中逐步解决。520FX
< >MT4程序基本结构一般从上到下包括4个部分(当然有些部分的位置是可以颠倒的,MT4是根据函数名字来寻找,而不是根据位置)。
< >按照一般的方便查看的结构程序设计原则,MT4从上到下的组成是:
< >第一部分:头代码部分
< >这里可以放置当前程序的属性,以及一些外部调用,同时在这里可以设置技术文件运行时可以改动的参数定义部分。
< >指标属性的设置一般每一行都用#property开头,后面是具体某个属性的设定,
< >例如:520FX
< >#property indicator_chart_window 就表示当前指标运行的时候所显示的图线是放置在K线主图里面的
< >#property indicator_separate_window就表示当前指标运行的时候所显示的图线是放置在K线下面的独立附图里面的
< >#property indicator_buffers 4 表示本指标将会使用4条线,所以在这里用语句进行初始化设定
< >#property indicator_color1 Blue 表示第一条指标线是用蓝色
< >#property indicator_color2 Red表示第一条指标线是用红色
< >#property indicator_color3 Blue 参考上面
< >#property indicator_color4 Red 参考上面
< >#property indicator_style4 2 表示指标类型采用系统定义好的2号类型
< >头文件部分还有一个重要作用就是定义输入参数:
< >extern int fast=3;
< >extern double slow=7.34;
< >输入参数的定义每一行以extern开头,后面紧接着是参数的类型int整数double双精度实数,再后来是参数的名字以及设定他的初始数值。
< >说明:在这里设定的参数,当你在MetaTrader里面附加这个指标的时候,弹出的指标窗口“输入参数”里面就会显示出来。520FX
< >头文件部分完成后,下面的三个部分是三个系统设定好名字的函数过程,不要更改名字,否则无法运行。你要做的只是在这三个函数过程内部添加你的代码,当然你也可以在这三个函数外面自己定义你的个性函数,然后再三个函数里面进行调用。
< >三个系统函数如下:520FX
< >int init() 初始化函数,这个函数在治标被加载的时候运行一次,一般用于进行和图表有关的一些属性的设置。
< >int deinit() 预定义函数,一般很少使用,知道就行了,程序里面可以没有这个部分
< >int start() 最重要的程序部分都在这里,start函数在每来一个价格Tick的时候,都会运行一次,这里面放置了主要的程序循环代码。因此你开发的指标图形才会在实时行情下不断变化。
< >一个MT4程序包含了以上部分后,就算完整了,剩下的工作主要在于结构流程的设计功夫。