函数就是一个有某种功能的程序块,我们可以在程序的各个地方调用函数。一个函数由返回类型,函数名,函数参数构成。函数的参数最多不能超过64个。
例如:一个实现加法功能的函数,
double Add(double a, double b)
{
return (a + b);
}
一 这个函数的返回类型为 double
二 函数名称为 Add
三 有两个函数参数 类型都为 double。
还有一种情况就是函数不需要返回值,例如我们一个打印功能的函数:
void DoThis(string s)
{
Print(s);
}
一 这个函数无返回值,void就代表无返回类型。
二 函数名称为DoThis
三 这个函数有一个类型为string的参数。
以下是函数调用方法:
int start()
{
double c = 0;
c = Add(1, 2); //调用Add函数,c的结果为3.0
Print(c);
DoThis("打印内容");
return(0);
}
EA里面的特殊函数,当我们建立一个ea的时候,里面有三个函数,int init(),int deinit(), int start(), 这三个是系统定义好的函数。意义如下:
init():但载入ea的时候,mt4首选会自动运行init()函数,只运行一次,一般这个函数我们用于初始化数据。注意尽量不要再init函数里面调用start函数。
deinit():当结束运行ea的时候,mt4自动调用这个函数,我们一般用这个函数清理一些数据。
start():当mt4每收到一个报价的时候,就会运行一下start函数,所以start是最重要的函数,我们的策略主要就是写在start函数里面,如果start函数还没运行完,但一个新的报价过来了,mt4不会去调用start函数,所有只有在mt4没有运行start函数的时候,并且收到报价的时候才会运行start函数。