公众号

扫码关注公众号

客服微信号

咨询客服微信号

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

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

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

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

[复制链接]
外汇学院 显示全部楼层 发表于 2018-1-19 22:58:51 |阅读模式 打印 上一主题 下一主题
MQL4语言编程培训9:MQL4函数概念
1 p5 S& m. s$ E' U7 O5 J* m% w2 o- V1 `1 L7 R1 O8 I  w
MQL4语言编程培训9:MQL4函数概念
/ \' u) `% |+ q- Q3 D- Q5 V( X# A0 x) J% ]: o) \
函数是一段已命名的程序,它可以从程序任一部分多次调用。它是由函数返回值的类型说明、函数名称、形式参数和语句块组成。传递参数的个数被限定在64个之内。  V; {) n" H* k6 ^1 i
示例:5 H) B$ b2 _6 u' b% p5 \

. c& l9 G) }- r6 V2 G( T. Y# p6 g$ S( {double                       // 返回值的类型
1 M' l! g; j% u/ |; w( }8 W4 g( ?! Q$ Nlinfunc (double x, double a, double b) // 函数名称和参量列表
. t, S  x% [0 h$ F{4 H( G1 n  @' b, @
                             // 语句块
! C. q+ ?3 d$ n  r+ D" C   return (a + b);           // 返回表达式值
& q! P; V% B( f1 D0 {  v' N}
, @; N* V! e# r  q. I8 Kreturn语句可以返回函数内表达式的值。如有必要,表达式值的类型可以转换为函数结果类型。没有返回值的函数必须定义成 “void” 型。+ G! [0 |' K8 l5 j) n6 b; W0 M
4 L0 l2 W2 Z8 m6 H2 C6 c# g% f- z7 F
示例:
. J! Y1 g/ ^! u5 ]' l4 \' g3 b) _0 {- i  L& P* q1 x. Y
void errmesg(string s)2 h8 j. F* p' t% g% C& k5 o5 o3 d
  {
2 b- f) G. H9 |5 n" S   Print("错误: "+s);
; J, k( I6 X: p# ~$ U  }
% O) S" b5 Z* K7 j& Q/ A# l; I% u3 B, p函数的参数可能存在默认值,这些默认值是用相应类型常量定义的。
6 T6 f! T: M1 |0 K
# P: H# R! m8 d: f示例:
& A, G2 g$ I3 z
& L5 y: `: M: v( bint somefunc(double a, double d=0.0001, int n=5, bool b=true, string s="passed string")
% T8 m/ b) K: e1 {/ f  {
; C5 d  S. P7 V5 l, v- H" V   Print("需求参量 a=",a);; _6 y: X# M6 ~! W, J! ~: T
   Print("下列参量被传送: d=",d," n=",n," b=",b," s=",s);
: [! R) i' L$ q0 Y  n/ }7 _   return (0);, I( U( o, q9 p6 @, i& D. E
  }' n0 f2 v7 E* p
如果为某个参数指定了默认值,那么所有后续的参数也必须指定默认值。6 m  F& x0 I: P% f' g
, U, z6 u" v9 s( S9 t
错误范例:
% C7 w4 _7 W7 t' Q! Y4 c6 H4 o) j
; L& j. }/ H. d  G+ T/ sint somefunc(double a, double d=0.0001, int n, bool b, string s="passed string")( Y9 u$ ^. K0 A! l; p0 \$ k
  {
1 l$ V: I7 G, i/ O5 A# w  }
( K* z+ c/ ~. V3 w- f函数调用
4 u1 C( G- x0 z' w' ^如果在表达式前出现一个曾未用过的名字,又后跟一个左括号,在上下文环境中它将被视作函数的名字。( l. m! X8 s0 a0 n$ u
& U+ K1 W7 F! c% ?
函数名称 (x1, x2,..., xn)
# G+ F- G! A; M/ [3 K$ S" l函数自变量(形式参数) 按值的方式传递,也就是说,先计算每一个表达式xl,…,xn的值,再将其值传递给函数,表达式计算顺序及其值的传递要确保无误。在执行期间,系统将检查 那些提供给函数的值和参数的类型。这种形式的函数调用被称为“值传递”。调用函数是为了获得函数返回的表达式值。函数的定义类型必须符合函数返回值的类 型。在全局层次,我们可以在程序的任何位置定义和说明函数,即要在其他函数之外定义,在函数之内,不能定义或说明另一个函数。
5 }( h' n: U# ]. k6 Y% l: L
( s! T1 M8 ?) o" t" t3 ~
" y- Q) a$ B" j2 t518外汇网--是一家专门提供外汇交易免费学习的专业化外汇交易论坛、外汇开户如何炒外汇,外汇培训,外汇学习,提供外汇交易教程外汇视频教程,外汇基础知识,外汇交易策略.炒外汇工具,外汇技术指标分析,外汇赠金活动,十大外汇平台,外汇投资高手,外汇技术面分析技巧,外汇基本面分析技巧,黄金分析软件,主要是以公平公正的角度传达做外汇需要的心态 技巧,免费共享各种外汇交易投资策略,提供新鲜的外汇交易资讯和公平,透明的外汇交易平台。MQL4语言编程培训9:MQL4函数概念.
' W, C, O8 ~9 f
518财经网(www.518waihui.com)立志成为全球最大的中文专业外汇论坛。为用户提供最快最全面的资讯服务,提供稳定实用的外汇交易软件系统及完善的培训教学,帮助投资者实现信息对称,让更多的投资者了解和参与外汇黄金市场。立志成为外汇论坛中的黑马网站。商务合作QQ:1967038611

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

使用道具 举报

精彩评论1

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

使用道具 举报

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

本版积分规则