[原创]MT4程序的基本结构

>MT4程序的基本结构



  < >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程序包含了以上部分后,就算完整了,剩下的工作主要在于结构流程的设计功夫。




★ 【推荐】智橙·天钻EA至臻版:自2021~2023年,$1000本金运行,0.01手起始仓位非复利,观摩盈利目前总资金$17500+,风险控制最大回撤30%以内... ...  点击查看

  • · 本网所载的全部内容仅作参考之用,所载资料来源和观点客观可靠,但不担保其准确性或完整性,且内容不构成对任何人的投资建议。
  • · 本网所提供的行情数据分析及观点不应取代个人的独立判断,不对因使用本网而造成的损失承担任何责任,据此入市,风险自担!