公众号

扫码关注公众号

客服微信号

咨询客服微信号

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

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

[复制链接]
外汇学院 显示全部楼层 发表于 2018-1-19 22:58:51 |阅读模式 打印 上一主题 下一主题
MQL4语言编程培训9:MQL4函数概念( `2 A3 Z; m; t

$ Z6 W4 @2 L: @MQL4语言编程培训9:MQL4函数概念
) P3 m6 X3 y, L- J  p& u% e/ H) u, v2 z4 k* h
函数是一段已命名的程序,它可以从程序任一部分多次调用。它是由函数返回值的类型说明、函数名称、形式参数和语句块组成。传递参数的个数被限定在64个之内。
' H, l; ~- U, S+ K& \8 a+ L示例:
7 {$ y9 _/ O6 D' e/ B! {( j5 Y2 l5 Y, E' ?/ ?3 V
double                       // 返回值的类型
% i* J! x9 x. b5 }7 p2 blinfunc (double x, double a, double b) // 函数名称和参量列表
, {- p- \4 |. k, S" R  J( F0 D# \8 ]( V+ Q{
) B2 v' {+ E' d                             // 语句块
+ R. g9 h2 T( G# B. o' A   return (a + b);           // 返回表达式值2 ~  W& x( y% f- v8 `
}
6 V  B7 O4 ?/ m4 q2 Ereturn语句可以返回函数内表达式的值。如有必要,表达式值的类型可以转换为函数结果类型。没有返回值的函数必须定义成 “void” 型。
' w! y( @; |, Z$ A
7 C- i5 y6 T( Q" E# I7 E7 m( F示例:
3 D) w4 r: u5 z; g' f- h. |
* |, E2 x4 o( m% C. b  m' Tvoid errmesg(string s): s% o$ E1 ^4 \
  {
/ I- J$ m& W( W: w. t4 _5 O/ I   Print("错误: "+s);* `% ]! G3 v. q, E4 x# e5 ~1 o
  }
* g5 ^1 h6 W0 e" g! S0 S函数的参数可能存在默认值,这些默认值是用相应类型常量定义的。
6 b2 s- `) N7 i1 P- B0 n( h
  E- B% [$ h: E# Y示例:4 b: S8 `8 \3 L5 Z9 K
# s. B0 z; H6 U" W* I8 O
int somefunc(double a, double d=0.0001, int n=5, bool b=true, string s="passed string")
% L; O2 d, v" _* b6 @5 Z# e  m- o3 W  {
* K* ?3 g2 V8 q. A   Print("需求参量 a=",a);
3 W2 I, n+ q+ ]8 n! _   Print("下列参量被传送: d=",d," n=",n," b=",b," s=",s);& `' o" c# R( u, Y# h9 O( W. U
   return (0);
; E; P. O0 E0 i3 f  }
$ a) ^4 M' U1 L) B% n如果为某个参数指定了默认值,那么所有后续的参数也必须指定默认值。
/ s( Y' f# t2 c
  k2 ^$ a- R1 y2 O, R错误范例:
6 O3 u" B1 i5 x) {) V; O9 W! e# @
8 u" [# E7 d, Z9 m9 B/ Lint somefunc(double a, double d=0.0001, int n, bool b, string s="passed string")1 f9 n! A/ V1 o. }7 j) c3 T
  {
# K3 c" b$ W5 D( I1 h0 K/ L  }
. a8 g5 L& K! t: k8 i. ^函数调用
, R8 m# g8 ]5 g& K2 ^. f1 F如果在表达式前出现一个曾未用过的名字,又后跟一个左括号,在上下文环境中它将被视作函数的名字。3 h, t6 q# I+ x8 [
* O  u! K1 q4 M
函数名称 (x1, x2,..., xn)! J7 Y+ J, E% \; W& u! M+ E- S- Q
函数自变量(形式参数) 按值的方式传递,也就是说,先计算每一个表达式xl,…,xn的值,再将其值传递给函数,表达式计算顺序及其值的传递要确保无误。在执行期间,系统将检查 那些提供给函数的值和参数的类型。这种形式的函数调用被称为“值传递”。调用函数是为了获得函数返回的表达式值。函数的定义类型必须符合函数返回值的类 型。在全局层次,我们可以在程序的任何位置定义和说明函数,即要在其他函数之外定义,在函数之内,不能定义或说明另一个函数。
, p6 @# S& i" f) k* t: w0 n/ U1 E$ P; }

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

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

使用道具 举报

精彩评论1

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

使用道具 举报

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

本版积分规则