mql4编程中如何引用“自定义函数”?
1、首先在电脑上打开mql4语言编辑器——“MetaEditor 4”;
在工作区右上方点击“新建”文件按钮,在弹出的“向导界面”中选择“程序库”,然后点击“下一步”;
接着为我们的自定义函数取一个文件名,我这里取的是“0001”,然后点击“完成”;
2、在建立的模板程序中,自定义函数文件只包含“文件头”和“文件体”两部分:
“文件头”包含自定义函数文件的文件名,除非你要进行商业开发,否则这个部分一般没有必要去动它;
“文件体”是进行代码编辑的区域;
3、因为主要介绍的是如何引用自定义函数,为了举例,我们这里就在代码编辑区简单输入如下两个函数,一个是Plus(),做两个整数的加法并返回结果;一个是Minus(),做两个整数的减法并返回结果;
int Plus(int var1,int var2)
{
return(var1+var2);
}
int Minus(int var3,int var4)
{
return(var3-var4);
}
然后按“Ctrl+S”保存,这里,我们可以在工作区左边的"Libraries"目录下看到我们建立的自定义函数文件“0001.mq4”了;
最后点击工作区左上方的“文件”,然后点击“关闭”,并保存我们编辑的文件。
4、再在工作区右上方点击“新建”文件按钮,在弹出的“向导界面”中选择“EA模板”,然后点击“下一步”;
接着为我们的EA程序取一个文件名,我这里取的是“1000”,然后点击“下一步”,在随后的弹出界面中选择默认,最后“完成”;
这时,我们可以看到,我们的“1000.ex4”模板程序已经建立了;
5、在这里,我们要在“1000.ex4”中引用“0001.mq4”中的Plus()函数和Minus()函数,为了做到这一点,我们需要:
1、在“1000.ex4”程序的int OnInit()函数前写上下列语句:
#import "0001.ex4"
int Plus(int var1,int var2);
int Minus(int var3,int var4);
#import
2、在“1000.ex4”程序的主体函数void OnTick()中写上下列引用语句:
int a,b;
a=Plus(3,8);
b=Minus(12,5);
Comment(a,"\n",b);
最后将运算结果分别显示在行情窗口的左上角。
6、点击工作区上方的“编译运行”键,然后点击“确定”;
怎么样,我们引用的函数正常运行!!!
7、这里需要注意的是,在使用“#import”语句引用自定义函数时,一定要在引用结尾加入“#import”!否则系统会提示” #import was not closed“。
这在很多网上介绍自定义函数引用的文章中都没有提及,对此,我刚开始也不知道是怎么回事,到处上网查都没有结果,最后才知道是结尾处漏掉了“#import”……^O^……