外汇EA编程教程――函数

好_汇_阁 haofx.net

    函数就是一个有某种功能的程序块,我们可以在程序的各个地方调用函数。一个函数由返回类型,函数名,函数参数构成。函数的参数最多不能超过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©;

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函数。