|
MT4指标编程入门中的自定义函数的介绍:
MT4
自定义函数与数学函数在本质上是一致的
例如:数学函数ft(x,y)=3x+2y(x,y为正整数)写成程序语句就是:
intft(intx,inty)
{
inttemp;
temp=3*x+2*y;
return(temp);
}
和自定义变量一样,自定义函数在使用前,也必须先设立,以定义其类型、名称、参数和运算语句。
函数类型、名称、参数位于函数头部(参数间以逗号分隔),
大括号中的是运算语句,也就是函数体部分。
return语句为函数结束语句,return后面括号中的值为函数返回值,即函数运算结果。
上例中,int为函数类型,表示该函数的返回值(运算结果)是整数;
(x,y)为参数,由于自定义变量使用之前都必须先创建,所以要加上类型定义词int
ft为函数名,有了函数名,我们就可以在别处用ft(2,1)的形式来调用此函数;
函数体部分有三句:
第一句,定义一个整形变量temp
第二句,计算temp的值
第三句,函数结束,返回调用点,以temp的值作为本函数返回值。
此函数也可以简写为:intft(intx,inty){return(3*x+2*y);}
函数类型与类型符
函数类型就是函数返回值(运算结果)的类型,与自定义变量类型差不多
有整型(int)、双精度型(double)、字符串型(string)、逻辑型(bool)等,
还有一种函数是以函数运行为目的,运行结束后不需要返回值也没有返回值的,则函数类型可以写成void(无值型)
函数中如果定义了自定义变量,那么此变量仅在本函数内部存在,函数运行结束时,自定义变量也就自动注销。
上例中,有x、y、temp三个自定义变量,在函数运行时创建,在函数运行结束时自动消失,仅在函数内部有效,与函数外部无关。
函数的调用
函数调用非常简单,只要函数名正确、参数个数一致、类型相同就能正确调用
如我们前面创建了ft(x,y)函数,则别处我们可以用ft(4,5)等样式来调用ft(x,y)函数求值。
调用时,传递参数值给ft(x,y)函数(按顺序把4传给x,把5传给y),返回结果23后继续执行主程序。
|
|