公众号

扫码关注公众号

客服微信号

咨询客服微信号

返回顶部
热门分类
  • 指标
  • EA
  • 模板
  • 外汇
  • 黄金
  • 学院
  • 发帖数4719
  • 粉丝30

此人很懒,什么也没有留下

所属组:管理员
用户等级:
注册时间:2017/04/25
手机:未填写电话号码
邮箱:16479791179@qq.com
简介:这个人很懒,什么也没有留下
热门排行榜
  • 本周热榜
  • 本月热榜

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

[复制链接]
外汇学院 显示全部楼层 发表于 2018-1-19 22:58:51 |阅读模式 打印 上一主题 下一主题
MQL4语言编程培训9:MQL4函数概念" w6 n4 X" O$ \9 M+ C. j
. J, x# u1 u4 J, V
MQL4语言编程培训9:MQL4函数概念
/ K4 [- J; w* Y: J1 L0 U
: U7 e3 }1 g- a" B3 t: C  r. i函数是一段已命名的程序,它可以从程序任一部分多次调用。它是由函数返回值的类型说明、函数名称、形式参数和语句块组成。传递参数的个数被限定在64个之内。
6 |- O0 d4 _! [9 f" e7 G: S示例:+ M- t$ e5 A$ b! z) E+ H
0 V# ?) j. F# y; {* y: e
double                       // 返回值的类型2 @! t8 _8 U1 I5 {+ ^/ M& y) e
linfunc (double x, double a, double b) // 函数名称和参量列表: P3 m. A1 a: v
{
$ {/ z7 K( l, b+ T3 F+ M                             // 语句块8 \* S# n% V. V# t/ }7 j! q
   return (a + b);           // 返回表达式值% R' n+ j" ^, ?3 E. A: q
}7 G* k8 P0 a$ H3 }
return语句可以返回函数内表达式的值。如有必要,表达式值的类型可以转换为函数结果类型。没有返回值的函数必须定义成 “void” 型。7 j0 O: @9 G. M. q/ y6 h' u4 L

5 Z. H' @* v% V7 M7 @7 \示例:, J+ y& `7 Q4 F& g% @8 I
# Y, W+ A. k& m* G6 X9 j. O$ |
void errmesg(string s)
3 N" p  J9 p8 x( W0 D$ \( }  {1 W: e( }: P" N  ]. J+ U. T
   Print("错误: "+s);: _! J. j( c: U: n' w
  }8 `/ K+ J; Q3 \
函数的参数可能存在默认值,这些默认值是用相应类型常量定义的。9 e2 h; H. q! g
6 M' t" ?4 c; T% N; b
示例:6 {+ {$ \9 {, o! J+ U% ]: A, ?
, H) W3 _4 g8 r- u; Y
int somefunc(double a, double d=0.0001, int n=5, bool b=true, string s="passed string")0 k# g0 C: n% q1 ~3 y+ X2 V
  {
( L& [0 c6 W5 Q2 e% W$ w   Print("需求参量 a=",a);
2 Z& s$ j: {2 v' p0 K+ g2 q   Print("下列参量被传送: d=",d," n=",n," b=",b," s=",s);+ l* r8 g& P& S( X; s
   return (0);" E2 o" |4 C( L  R  f3 S6 _. O
  }
3 Y) y% l& _# B如果为某个参数指定了默认值,那么所有后续的参数也必须指定默认值。
2 L) q* E0 n$ _$ n$ r" i( d* q; V2 F4 F2 ]. s1 \4 w) q) D* Q8 v
错误范例:
/ {1 J2 I; A' J; V( X7 @$ L& f' @/ N, y7 Q" m! o& {
int somefunc(double a, double d=0.0001, int n, bool b, string s="passed string")
9 J0 ?) k$ ]' Q  D' y, v, O. i  {$ Q; h0 L% G% Z7 R# O' J+ E' a- m
  }
, `) r/ ^; V1 `* j2 z$ l函数调用* w1 |$ J8 d8 U& A9 d8 H: \: z
如果在表达式前出现一个曾未用过的名字,又后跟一个左括号,在上下文环境中它将被视作函数的名字。: ]2 w7 w) L- }8 ~4 t. V! M
7 y# B' L5 k- g5 M+ N9 K
函数名称 (x1, x2,..., xn)# X7 z, l& i0 b. v5 O% d" a
函数自变量(形式参数) 按值的方式传递,也就是说,先计算每一个表达式xl,…,xn的值,再将其值传递给函数,表达式计算顺序及其值的传递要确保无误。在执行期间,系统将检查 那些提供给函数的值和参数的类型。这种形式的函数调用被称为“值传递”。调用函数是为了获得函数返回的表达式值。函数的定义类型必须符合函数返回值的类 型。在全局层次,我们可以在程序的任何位置定义和说明函数,即要在其他函数之外定义,在函数之内,不能定义或说明另一个函数。
$ G/ M) g1 _9 {) s: w/ W& D
3 D7 o& o( Y4 a+ S2 y& ?, v6 e: Z% y* e. C# o, ]
518外汇网--是一家专门提供外汇交易免费学习的专业化外汇交易论坛、外汇开户如何炒外汇,外汇培训,外汇学习,提供外汇交易教程外汇视频教程,外汇基础知识,外汇交易策略.炒外汇工具,外汇技术指标分析,外汇赠金活动,十大外汇平台,外汇投资高手,外汇技术面分析技巧,外汇基本面分析技巧,黄金分析软件,主要是以公平公正的角度传达做外汇需要的心态 技巧,免费共享各种外汇交易投资策略,提供新鲜的外汇交易资讯和公平,透明的外汇交易平台。MQL4语言编程培训9:MQL4函数概念.8 ^" s0 |& u! V- L  B8 y' Q# |
518财经网(www.518waihui.com)立志成为全球最大的中文专业外汇论坛。为用户提供最快最全面的资讯服务,提供稳定实用的外汇交易软件系统及完善的培训教学,帮助投资者实现信息对称,让更多的投资者了解和参与外汇黄金市场。立志成为外汇论坛中的黑马网站。商务合作QQ:1967038611

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

使用道具 举报

精彩评论1

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

使用道具 举报

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

本版积分规则