518外汇网
标题:
MQL4语言编程培训9:MQL4函数概念
[打印本页]
作者:
外汇学院
时间:
2018-1-19 22:58
标题:
MQL4语言编程培训9:MQL4函数概念
MQL4语言编程培训9:MQL4函数概念
/ p( Q0 u; p8 X- C6 {, u3 T
http://v.youku.com/v_show/id_XNDA3MDAzODAw.html
) l0 N) u" L$ |. _! M# N# |7 ] ]
MQL4语言编程培训9:MQL4函数概念
7 Q6 S2 e1 ~2 {6 V: i4 C0 B8 [
( |0 b' }0 l) _0 \* L3 o
函数是一段已命名的程序,它可以从程序任一部分多次调用。它是由函数返回值的类型说明、函数名称、形式参数和语句块组成。传递参数的个数被限定在64个之内。
4 b5 ?6 e# [/ y* Q& y. t; S5 K" x
示例:
- n6 r9 e4 C7 z8 H# G8 J* X4 T
$ d; `, `, c# s0 o; J& i
double // 返回值的类型
9 v( u) s- h' \* h1 f" z
linfunc (double x, double a, double b) // 函数名称和参量列表
" o/ o: I b2 |3 j/ _
{
4 C" C0 Q+ V+ T8 `4 @: F6 V
// 语句块
/ k: e: @1 G. q5 v0 e; \
return (a + b); // 返回表达式值
1 h- O5 j& e( k0 I* H. Q2 m% Q
}
; W, K" Y, B7 _- {
return语句可以返回函数内表达式的值。如有必要,表达式值的类型可以转换为函数结果类型。没有返回值的函数必须定义成 “void” 型。
% T4 O7 k/ o% S- e# l$ r2 k
' T* [+ |; }- e0 p. E1 b+ m
示例:
" t& a. C+ p/ {" a, [2 w5 U
5 J) Z' K! f: s' W
void errmesg(string s)
% d( m$ x0 v0 o1 s2 p
{
; `8 k' D. k3 t
Print("错误: "+s);
- I$ ]% \$ V5 [
}
! } M3 z, v1 X3 r) |; o- }' g
函数的参数可能存在默认值,这些默认值是用相应类型常量定义的。
- o, C9 ~" b! M! }4 ^, S' J
- i5 ` T v& V; B! Z' U5 g' `
示例:
) ?' t) p6 h5 S( I4 d+ d
/ w! N( f. ^7 O# a9 H. A4 s
int somefunc(double a, double d=0.0001, int n=5, bool b=true, string s="passed string")
& [) \* U. g% u: S' `
{
' M0 V4 A; b2 M5 r) ]
Print("需求参量 a=",a);
9 o2 j$ ^4 ~6 t$ c8 ^& B7 o
Print("下列参量被传送: d=",d," n=",n," b=",b," s=",s);
4 K$ b9 @2 d3 p4 K
return (0);
% D( x/ L0 L7 e
}
( W' _( [! ]+ H. u
如果为某个参数指定了默认值,那么所有后续的参数也必须指定默认值。
5 D% U0 \# P6 h+ D; H$ Y
& d; c( \( L) c3 d1 f' A" o# I
错误范例:
) s3 e b" G; `, m
3 }7 ~1 T& A$ q
int somefunc(double a, double d=0.0001, int n, bool b, string s="passed string")
2 L& o0 u* T9 e# D$ ?" e) i5 d
{
% C$ T V7 M$ ?
}
% v, ~, m( g @1 d# J" C8 \- b4 U
函数调用
9 V9 L; T& h) R3 A6 g( E
如果在表达式前出现一个曾未用过的名字,又后跟一个左括号,在上下文环境中它将被视作函数的名字。
. G+ I8 Z9 E, y$ t& L. }9 a
5 p, Z; z/ o( S$ r! X6 L
函数名称 (x1, x2,..., xn)
, C( u! b% Z! ~* v( P
函数自变量(形式参数) 按值的方式传递,也就是说,先计算每一个表达式xl,…,xn的值,再将其值传递给函数,表达式计算顺序及其值的传递要确保无误。在执行期间,系统将检查 那些提供给函数的值和参数的类型。这种形式的函数调用被称为“值传递”。调用函数是为了获得函数返回的表达式值。函数的定义类型必须符合函数返回值的类 型。在全局层次,我们可以在程序的任何位置定义和说明函数,即要在其他函数之外定义,在函数之内,不能定义或说明另一个函数。
( n% L: I1 a- k9 `% \
- ]# S) ], S8 v4 a& u0 H- k
' |2 P2 ?7 {0 X2 g4 V0 C
518外汇网--是一家专门提供外汇交易免费学习的专业化外汇交易论坛、外汇开户
、
如何炒外汇
,外汇培训,外汇学习,提供
外汇交易教程
,外汇视频教程,外汇基础知识,外汇交易策略.炒外汇工具,外汇技术指标分析,外汇赠金活动,
十大外汇平台
,外汇投资高手,外汇技术面分析技巧,外汇基本面分析技巧,黄金分析软件,主要是以公平公正的角度传达做外汇需要的心态 技巧,免费共享各种外汇交易投资策略,提供新鲜的外汇交易资讯和公平,透明的外汇交易平台。MQL4语言编程培训9:MQL4函数概念.
4 y, L# r" ]7 E" |: }, q( j
作者:
贵州论坛
时间:
2019-8-6 20:11
大家有什么好看法,赶快说说
欢迎光临 518外汇网 (https://www.518waihui.com/)
Powered by Discuz! X3.5