公众号

扫码关注公众号

客服微信号

咨询客服微信号

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

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

[复制链接]
外汇学院 显示全部楼层 发表于 2018-1-19 22:58:51 |阅读模式 打印 上一主题 下一主题
MQL4语言编程培训9:MQL4函数概念, d3 k; o  L7 g4 ]2 j/ R5 L: d% o

* ?, D8 G5 U0 p/ S$ ~: lMQL4语言编程培训9:MQL4函数概念
8 W% N7 |, |2 z7 A, x! J* m! A. q& X) J+ V8 R- ^
函数是一段已命名的程序,它可以从程序任一部分多次调用。它是由函数返回值的类型说明、函数名称、形式参数和语句块组成。传递参数的个数被限定在64个之内。
& Q8 }: E- E+ y- i4 K4 y0 ^. W: Q示例:
6 p+ l/ `! j6 F2 `: W
0 K" u" W  H' `7 Q( v' \; Y1 p9 Gdouble                       // 返回值的类型
8 O! [/ b0 V- x% ?6 B4 K) ?! d3 wlinfunc (double x, double a, double b) // 函数名称和参量列表
  D/ B! V' I. v( }. }' j3 D- T{1 N$ U/ e9 Q7 q2 d! g
                             // 语句块' Z  }6 @7 C& s2 j
   return (a + b);           // 返回表达式值
5 U3 S3 |: Q; e$ S2 P}9 m8 A. I# H5 [! G: U4 g& r0 M  p
return语句可以返回函数内表达式的值。如有必要,表达式值的类型可以转换为函数结果类型。没有返回值的函数必须定义成 “void” 型。" M8 w; E$ S( t9 B
8 d- W4 ^% C' O# g/ y
示例:
8 ]% m" B+ U/ ~! @! P; S2 R& U4 ]9 S! m7 A" B9 V0 f* l
void errmesg(string s)$ J8 Y3 B" {  v2 q
  {$ h8 D) Q6 I- P
   Print("错误: "+s);
+ w, ?# Z+ ]  `/ f5 L) Q/ d  }
4 {/ a+ |4 Z' W# u" G函数的参数可能存在默认值,这些默认值是用相应类型常量定义的。
6 C/ {) E" H" h) v, f/ B: v9 J) Z" Z1 U5 @6 U7 b
示例:# l$ z8 I4 I) a! L- D
3 [" e# @& A1 g1 [+ o
int somefunc(double a, double d=0.0001, int n=5, bool b=true, string s="passed string")
: ?  `: h( G4 w) D; t' q  {3 `4 V' e! ^' G% Y
   Print("需求参量 a=",a);. x  @/ Q, S  z: g7 k4 l. R. D; f5 P
   Print("下列参量被传送: d=",d," n=",n," b=",b," s=",s);6 W/ f5 f1 r9 C( x
   return (0);
- j& C- }$ z- G( T3 `/ W; f$ T( y3 t' N  }
- T' z% Z! a: Y如果为某个参数指定了默认值,那么所有后续的参数也必须指定默认值。, W& c% o. \4 f3 z. a: l5 o/ r

( f+ b1 d' ^+ M, J错误范例:
% M% b. k. C! Z# V+ `) W7 c( O3 i( _/ _5 ?" F+ d+ {! @
int somefunc(double a, double d=0.0001, int n, bool b, string s="passed string")
6 n5 x/ r! V$ O" K" w) Z  {, W9 K  K1 p4 n8 u
  }
& S( i( U: }' i" c6 e! z% k$ q函数调用: `& g' J4 N$ h0 j8 p) i8 x% j
如果在表达式前出现一个曾未用过的名字,又后跟一个左括号,在上下文环境中它将被视作函数的名字。4 o- I( a/ N$ c+ b7 C
: F" C* \8 C0 k6 ^% z& S
函数名称 (x1, x2,..., xn), F8 |  w3 Q& Y9 y1 t, ]7 V
函数自变量(形式参数) 按值的方式传递,也就是说,先计算每一个表达式xl,…,xn的值,再将其值传递给函数,表达式计算顺序及其值的传递要确保无误。在执行期间,系统将检查 那些提供给函数的值和参数的类型。这种形式的函数调用被称为“值传递”。调用函数是为了获得函数返回的表达式值。函数的定义类型必须符合函数返回值的类 型。在全局层次,我们可以在程序的任何位置定义和说明函数,即要在其他函数之外定义,在函数之内,不能定义或说明另一个函数。
; ~1 u* R+ d3 Q9 G! Z. O7 b' k/ d" K

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

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

使用道具 举报

精彩评论1

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

使用道具 举报

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

本版积分规则