首页学院交易策略EA智能交易文章详细

外汇EA编程教程——变量

外汇网2021-06-17 09:42:08 75
汇外网 - 全球专业的黄金外汇门户导航行情资讯网站

1 本地变量:

定义在函数内部的变量称为本地变量,它的作用规模只有在定义它的函数内可以访问,在函数外面的代码,不能访问函数里面的变量。比如:

int funcname(int a)

{

int abc; //函数内部的变量,只能由函数里面的代码访问,函数外部不能访问变量abc;

}

2 函数参数:

函数参数的各个变量名称不能函数内部变量重名。参数也可以指定默认值,比如:

void func(int x, double y = 0.0, bool z = true)

{

...

}

这个函数指定了y的默认值为0.0,z的值为true。

调用这个函数的时机,可以不指定有默认值的参数值。如func(9), 则相当于 func(9, 0.0, true)如此调用。假使调用了func(9, 1.5) 则相当于调用了 func(9, 1.5, true).

一般情形下,函数参数是传值。在函数里面更改参数的值,不会改变到调用该函数的程序块。即便是数组也是传值进去。

那么我们如何传引用呢?通过传引用,假使函数里面的参数值更改了,对应的调用该函数的代码段的变量值会跟着更改。假使要传引用,则需要在函数参数类型后面添加符号 '&',如:

void func(int& x, double& y, double& z[])

{

x = 8;

}

有一点需要注意:假使是传引用的函数参数,不能对参数执行预设置默认值。

参数参数不能胜过64个。

3 全局变量:

全局变量是与函数同级别的变量,它的作用域是整个MQL代码。也就是说整个MQL各个地方都能访问到全局变量。如:

int a = 10;

int funca()

{

Print(a);

//可访问到全局变量a

return (0);

}

int funcb()

{

Print(a);

//可访问到全局变量a

return (1);

}

4 外部变量:

假使一个变量被定义为外部变量,则EA客户端可以设置这个外部变量的值。

比如:

extern int a = 10;

extern color c = red;

标签:

随机快审展示
加入快审,优先展示

加入VIP