MT4智能交易编程教程-函数
每个任务都可以分解成子任务,既可以用代码形式直接表示,也可以分成子任务。这个方法称为逐步求精。函数用来输入要解决的子任务的代码。描述函数的代码称为函数定义:
- function_header
- {
- instructions
- }
-
复制代码第一个括号前是函数定义的表头,括号中间是函数定义主体。函数表头包括返回值类型描述,名称(标识符)和正式参数 。通过函数的参数有限制,不能超过64。 函数不能从程序的其他部分多次调用。实际上,返回类型,函数标识符和参数类型组成函数原型。 函数原型是函数说明,但是不是定义。由于明确说明返回类型和自变量类型列表,调用函数时严格检测类型和隐藏的类型转换。经常使用函数说明提高代码可读性。 函数定义必须与其说明相匹配。每个说明的函数都要下定义。 示例: - double // 返回值类型
- linfunc (double a, double b) // 函数名和参量列表
- {
- // 组合操作符
- return (a + b); // 返回值
- }
-
复制代码
返回操作符能够返回位于这个操作符的表达式的值。如果有必要,表达式值可以转换为函数结果类型。返回到零值的函数描述为空型。示例: - void errmesg(string s)
- {
- Print("error: "+s);
- }
复制代码
通过函数的参量可能存在由特定类型常数指定的默认值。示例: - int somefunc(double a,
- double d=0.0001,
- int n=5,
- bool b=true,
- string s="passed string")
- {
- Print("Required parameter a = ",a);
- Print("Pass the following parameters: d = ",d," n = ",n," b = ",b," s = ",s);
- return(0);
- }
-
复制代码
|