518财经网

标题: MQL4语言编程培训9:MQL4函数概念 [打印本页]

作者: 外汇学院    时间: 2018-1-19 22:58
标题: MQL4语言编程培训9:MQL4函数概念
MQL4语言编程培训9:MQL4函数概念/ ~2 J  v# ]' I: s
http://v.youku.com/v_show/id_XNDA3MDAzODAw.html
8 Y! o- m, w) S# p% hMQL4语言编程培训9:MQL4函数概念
3 v2 k2 T3 i: R* |0 d' y) G! m" c1 ^) o  a1 h7 r! q
函数是一段已命名的程序,它可以从程序任一部分多次调用。它是由函数返回值的类型说明、函数名称、形式参数和语句块组成。传递参数的个数被限定在64个之内。- v( F% `; d8 @+ v- s" E5 O2 ~
示例:8 P4 [! F7 @$ ?7 k8 V5 D4 Z
6 m9 B  }7 O( Q5 a  x
double                       // 返回值的类型( ^  W& T. K$ q( o3 G# T, l3 {
linfunc (double x, double a, double b) // 函数名称和参量列表+ {8 n- \' h6 F" k- d# p  ^6 U
{6 z. O  |2 S, T2 D( {+ l7 F0 U
                             // 语句块
  ]" k7 w5 }! |8 _" Y- N   return (a + b);           // 返回表达式值
  [- A, h) W* B}
6 Y& d0 A1 y% S" m5 p" ]return语句可以返回函数内表达式的值。如有必要,表达式值的类型可以转换为函数结果类型。没有返回值的函数必须定义成 “void” 型。
  d2 q# N& y4 i! E/ Z) F5 a! T% ?7 v( c  j* R
示例:
3 S0 _; ^- S% |
9 z0 ?, ?" i0 D: l  B- w, t1 A# Kvoid errmesg(string s)6 x! k' T6 W! v$ {
  {
4 G% H; P- o( ~8 N0 j   Print("错误: "+s);& Z) ?8 H- K3 T/ E' P6 _$ U
  }1 @; ?) [8 s( z
函数的参数可能存在默认值,这些默认值是用相应类型常量定义的。
; \! j# u' u+ @3 W' ~
" {( L9 x; K# ~示例:' |  Y  ^: M6 Z# w; d) L$ O" [
5 L' l4 [6 g" I4 W
int somefunc(double a, double d=0.0001, int n=5, bool b=true, string s="passed string")
: N- }9 ]( j: @: w/ j3 `4 I  {
. O4 g1 A9 \9 G   Print("需求参量 a=",a);
* u3 r9 H$ m# K+ l   Print("下列参量被传送: d=",d," n=",n," b=",b," s=",s);6 a* i/ g% ?  Y) I; k. r) d0 m- N+ }
   return (0);- R$ y  G( \2 q% o7 c
  }6 W6 V! A0 k4 P, \4 ~' E' V
如果为某个参数指定了默认值,那么所有后续的参数也必须指定默认值。
; O$ c- `; n" t: k
8 L& q1 N' x* P7 E1 m4 v错误范例:, |5 ~2 s8 |( x5 |9 z8 \
/ ?' }& X4 G& V: `. S" z7 Q6 s4 I
int somefunc(double a, double d=0.0001, int n, bool b, string s="passed string")  a( g" ?4 o# A' b9 q& k
  {9 B$ W! b, g- C1 G5 z  M
  }
% [/ C' u6 e! ^5 E4 I: w4 Z函数调用0 ?, r5 N7 U- l9 V2 K$ |* ^
如果在表达式前出现一个曾未用过的名字,又后跟一个左括号,在上下文环境中它将被视作函数的名字。
9 U% R8 m' U0 M; Q' z# j& i% t* O* V# U  H4 O# E
函数名称 (x1, x2,..., xn)& m- C" d3 a/ D4 J
函数自变量(形式参数) 按值的方式传递,也就是说,先计算每一个表达式xl,…,xn的值,再将其值传递给函数,表达式计算顺序及其值的传递要确保无误。在执行期间,系统将检查 那些提供给函数的值和参数的类型。这种形式的函数调用被称为“值传递”。调用函数是为了获得函数返回的表达式值。函数的定义类型必须符合函数返回值的类 型。在全局层次,我们可以在程序的任何位置定义和说明函数,即要在其他函数之外定义,在函数之内,不能定义或说明另一个函数。
! `% |- r3 n% ]( b& F  U5 v! e* r  z5 ]
* W7 E8 r2 C# R+ D/ x6 O
518外汇网--是一家专门提供外汇交易免费学习的专业化外汇交易论坛、外汇开户如何炒外汇,外汇培训,外汇学习,提供外汇交易教程,外汇视频教程,外汇基础知识,外汇交易策略.炒外汇工具,外汇技术指标分析,外汇赠金活动,十大外汇平台,外汇投资高手,外汇技术面分析技巧,外汇基本面分析技巧,黄金分析软件,主要是以公平公正的角度传达做外汇需要的心态 技巧,免费共享各种外汇交易投资策略,提供新鲜的外汇交易资讯和公平,透明的外汇交易平台。MQL4语言编程培训9:MQL4函数概念.! C" e$ [7 ^" y8 ]8 d+ p6 E+ d/ @

作者: 贵州论坛    时间: 2019-8-6 20:11
大家有什么好看法,赶快说说




欢迎光临 518财经网 (https://www.518waihui.com/) Powered by Discuz! X3.5