公众号

扫码关注公众号

客服微信号

咨询客服微信号

返回顶部
热门分类
  • 指标
  • EA
  • 模板
  • 外汇
  • 黄金
  • 学院
所属组:管理员
用户等级:
注册时间:2017/04/25
手机:未填写电话号码
邮箱:16479791179@qq.com
简介:这个人很懒,什么也没有留下
热门排行榜
  • 本周热榜
  • 本月热榜

MQL4语言编程培训9:MQL4函数概念

[复制链接]
外汇学院 显示全部楼层 发表于 2018-1-19 22:58:51 |阅读模式 打印 上一主题 下一主题
MQL4语言编程培训9:MQL4函数概念
9 @" k5 ]! P0 c& y5 Z- u/ H& N6 @
% _0 V' L2 _% q- A0 \7 M+ }$ \MQL4语言编程培训9:MQL4函数概念9 X" ]- g7 j' d; k4 t$ ~
* n1 w$ k$ [$ l1 p# @. v' r9 L- r) b
函数是一段已命名的程序,它可以从程序任一部分多次调用。它是由函数返回值的类型说明、函数名称、形式参数和语句块组成。传递参数的个数被限定在64个之内。
: `* M' W5 |% U+ [9 U6 a示例:5 y! ]+ J( ~. s" `" ^

! Q% s& X/ }+ H0 ldouble                       // 返回值的类型
9 ?1 e! a1 D4 m- ]0 nlinfunc (double x, double a, double b) // 函数名称和参量列表+ j. `* Y" z' r! B( s: a3 J1 ?) I
{
) ~' n, l6 M) ^& Y$ f8 U* u                             // 语句块
) C, e  }& G! s) [5 ?- {   return (a + b);           // 返回表达式值
4 t; ?& {& b9 q2 u}
" i% @* _+ j5 Y, b. V6 Yreturn语句可以返回函数内表达式的值。如有必要,表达式值的类型可以转换为函数结果类型。没有返回值的函数必须定义成 “void” 型。
. f6 _; D: f- n! u; Y
+ w: t; n6 V, n( _+ p4 K示例:7 c' U. g1 m, E% i
/ @: h0 G4 s  e8 n( e- _0 N0 U9 o
void errmesg(string s)
1 c; a# a) r* u0 T, M2 |& I: x  {
3 h2 h: I5 Y/ l# ?   Print("错误: "+s);
0 L! |+ O7 R- }* u7 Y1 v  a  }# Z5 p2 u& q% ~' d
函数的参数可能存在默认值,这些默认值是用相应类型常量定义的。
9 R  y7 ~/ e2 a7 J1 h. i/ e: I
1 m) p% T4 Q0 g2 Q; ?示例:; O9 t% |/ v' w2 _
3 g6 A9 w) @7 A* u
int somefunc(double a, double d=0.0001, int n=5, bool b=true, string s="passed string")8 y' U2 i* u. i, V+ Z  ^7 f
  {3 H! @* X! g& A- y3 K) q
   Print("需求参量 a=",a);
. h4 h+ f) a; J. e7 A; c4 `' f& G   Print("下列参量被传送: d=",d," n=",n," b=",b," s=",s);# \! |" S5 I3 c) p
   return (0);
, k$ F4 t! `- A5 E! F# f  }: Q# {( J2 x% k9 A; j7 a
如果为某个参数指定了默认值,那么所有后续的参数也必须指定默认值。1 @1 U3 ^1 E5 f6 k8 E
+ U. F; U+ I( W0 [
错误范例:
$ u1 I2 d, r1 m% ^+ n, o, K
4 v/ m' ~  l" d  l& j6 ]int somefunc(double a, double d=0.0001, int n, bool b, string s="passed string")
: u, b1 ^7 a; R* k" Q2 J  {
- b* I% c1 m- W; V  }
5 C; T) A2 V. ^: t! B1 @4 E: q函数调用
8 h" |" Q' }+ b% \) D& C如果在表达式前出现一个曾未用过的名字,又后跟一个左括号,在上下文环境中它将被视作函数的名字。
$ f2 @  W! v9 _2 a6 X9 y# y
  l' m5 r& e/ e5 _函数名称 (x1, x2,..., xn)
: D/ C5 N1 {6 y) d$ q, T: z' s函数自变量(形式参数) 按值的方式传递,也就是说,先计算每一个表达式xl,…,xn的值,再将其值传递给函数,表达式计算顺序及其值的传递要确保无误。在执行期间,系统将检查 那些提供给函数的值和参数的类型。这种形式的函数调用被称为“值传递”。调用函数是为了获得函数返回的表达式值。函数的定义类型必须符合函数返回值的类 型。在全局层次,我们可以在程序的任何位置定义和说明函数,即要在其他函数之外定义,在函数之内,不能定义或说明另一个函数。
- M1 n5 v, ?# o  d+ z5 |0 R( a

$ H! S5 s6 U' c# {' O518外汇网--是一家专门提供外汇交易免费学习的专业化外汇交易论坛、外汇开户如何炒外汇,外汇培训,外汇学习,提供外汇交易教程外汇视频教程,外汇基础知识,外汇交易策略.炒外汇工具,外汇技术指标分析,外汇赠金活动,十大外汇平台,外汇投资高手,外汇技术面分析技巧,外汇基本面分析技巧,黄金分析软件,主要是以公平公正的角度传达做外汇需要的心态 技巧,免费共享各种外汇交易投资策略,提供新鲜的外汇交易资讯和公平,透明的外汇交易平台。MQL4语言编程培训9:MQL4函数概念." S) B5 t2 u; B! S
518财经网(www.518waihui.com)立志成为全球最大的中文专业外汇论坛。为用户提供最快最全面的资讯服务,提供稳定实用的外汇交易软件系统及完善的培训教学,帮助投资者实现信息对称,让更多的投资者了解和参与外汇黄金市场。立志成为外汇论坛中的黑马网站。商务合作QQ:1967038611

★★★ 或者升级到“VIP等级”:可任意发帖+无限制金币+所有资源无限制下载。   联系管理员(微信:15000043492 )或者加QQ:1967038611 升等级!★★★
回复

使用道具 举报

精彩评论1

贵州论坛 显示全部楼层 发表于 2019-8-6 20:11:52
大家有什么好看法,赶快说说
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则