函数就是一个有某种功能的程序块,我们可以在程序的各个地方调用函数。一个函数由返回类型,函数名,函数参数组成。函数的参数最多不能胜过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.0Print(c);
DoThis("打印内容");
return(0);
}
EA里面的特殊函数,当我们建立一个ea的时机,里面有三个函数,int init(),int deinit(), int start(), 这三个是系统定义好的函数。意义如下:
init():但载入ea的时机,mt4首选会自动运行init()函数,只运行一次,一般这个函数我们用于初始化报告。注意尽量不要再init函数里面调用start函数。
deinit():当终结运行ea的时机,mt4自动调用这个函数,我们一般用这个函数清理一部分报告。
tart():当mt4每收到一个报价的时机,就会运行一下start函数,所以start是最重要的函数,我们的策略首要就是写在start函数里面,假使start函数还没运行完,但一个新的报价过来了,mt4不会去调用start函数,所有只有在mt4没有运行start函数的时机,而且收到报价的时机才会运行start函数。