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