518外汇网

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

作者: 外汇学院    时间: 2018-1-19 22:58
标题: MQL4语言编程培训9:MQL4函数概念
MQL4语言编程培训9:MQL4函数概念
5 L, n6 ~9 l& h7 jhttp://v.youku.com/v_show/id_XNDA3MDAzODAw.html
3 x* g7 y& [/ zMQL4语言编程培训9:MQL4函数概念3 _4 h& w5 q# H8 O" Z3 Q

* a' `3 q4 @; T1 d% S7 z$ }# G函数是一段已命名的程序,它可以从程序任一部分多次调用。它是由函数返回值的类型说明、函数名称、形式参数和语句块组成。传递参数的个数被限定在64个之内。3 s) d8 P1 b& ^; t) E- T# l1 \
示例:8 ]) ?4 T  m/ z" S* E1 a, n
) H/ i  f3 v/ f2 `4 `
double                       // 返回值的类型" O" T2 r! ~6 C' h6 s5 T9 T" z
linfunc (double x, double a, double b) // 函数名称和参量列表
9 D$ O" \8 e" w! k/ {/ R( l5 ^{& {+ S0 e0 S9 j; d0 X
                             // 语句块: \/ m& j- {1 Z5 b& ^9 X
   return (a + b);           // 返回表达式值* ~8 ~8 S+ V( m! ^- ?, _' }
}
( T( S& V+ W. |/ Y  Y9 l; h) M) {return语句可以返回函数内表达式的值。如有必要,表达式值的类型可以转换为函数结果类型。没有返回值的函数必须定义成 “void” 型。  ^  M8 O; b- }

- k# V) Q$ r& L0 _- o示例:7 y$ i* J: X0 ^7 x

- D$ z# z, s6 A3 Nvoid errmesg(string s)$ `# x; U* c$ h  I, G' T4 \
  {& i; B5 P0 P0 u. e2 x, E
   Print("错误: "+s);: }- r4 u  b( p
  }5 ^( ^3 V5 g5 o% E& y  `
函数的参数可能存在默认值,这些默认值是用相应类型常量定义的。
- ]( }5 X9 J. t% o8 k3 D7 _0 P8 `# g
0 |! |7 k. M/ n0 V; M示例:
+ X% Y$ {' ~& T6 l6 t
$ ^9 w# M+ f8 T% X! j! ^1 L( @* ]( Pint somefunc(double a, double d=0.0001, int n=5, bool b=true, string s="passed string"): y" Q& R8 G" v& \/ G
  {- }3 b- C2 \7 k2 F
   Print("需求参量 a=",a);- o0 a- ~2 f1 E; y
   Print("下列参量被传送: d=",d," n=",n," b=",b," s=",s);) h. Y" |& ?/ k. P$ P8 z4 }" P
   return (0);$ K9 J" D. Z* n% a! |
  }
. `$ L. X, F+ ?4 f) ^如果为某个参数指定了默认值,那么所有后续的参数也必须指定默认值。; e2 M) K8 R9 V2 R! Z
; g6 \* ?1 m3 Z, V
错误范例:: z+ q" N) h* c- h. I

/ h& P$ h2 H) [4 m7 Gint somefunc(double a, double d=0.0001, int n, bool b, string s="passed string")
* U' Z& q. `( _5 j  {( S; f) Y$ j- I; ~
  }* r' @/ M) ]/ P. l3 ^
函数调用
4 D  f4 A- ?+ h' _如果在表达式前出现一个曾未用过的名字,又后跟一个左括号,在上下文环境中它将被视作函数的名字。$ E; d% h- n" @5 h6 t& c# d) t3 Q
/ I1 l! M0 b- y) w  m# `
函数名称 (x1, x2,..., xn)
, l, w1 p7 w; p. }5 }( x函数自变量(形式参数) 按值的方式传递,也就是说,先计算每一个表达式xl,…,xn的值,再将其值传递给函数,表达式计算顺序及其值的传递要确保无误。在执行期间,系统将检查 那些提供给函数的值和参数的类型。这种形式的函数调用被称为“值传递”。调用函数是为了获得函数返回的表达式值。函数的定义类型必须符合函数返回值的类 型。在全局层次,我们可以在程序的任何位置定义和说明函数,即要在其他函数之外定义,在函数之内,不能定义或说明另一个函数。
9 K2 _7 x# h2 p" v0 q3 l. q& [& G; f7 f- v( }& Q# z& W

3 @, ]2 K6 @* U$ h518外汇网--是一家专门提供外汇交易免费学习的专业化外汇交易论坛、外汇开户如何炒外汇,外汇培训,外汇学习,提供外汇交易教程,外汇视频教程,外汇基础知识,外汇交易策略.炒外汇工具,外汇技术指标分析,外汇赠金活动,十大外汇平台,外汇投资高手,外汇技术面分析技巧,外汇基本面分析技巧,黄金分析软件,主要是以公平公正的角度传达做外汇需要的心态 技巧,免费共享各种外汇交易投资策略,提供新鲜的外汇交易资讯和公平,透明的外汇交易平台。MQL4语言编程培训9:MQL4函数概念.
9 v$ h7 r: t3 z7 w4 c% q0 X
作者: 贵州论坛    时间: 2019-8-6 20:11
大家有什么好看法,赶快说说




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