来自:qilong > 馆藏分类
配色: 字号:
MQL4课程8
2017-04-21 | 阅:  转:  |  分享 
  
MQL4中的变量

开始之前你可以复习“数据类型”那一课。

变量的声明:

你可以通过使用关键字(int,double,char,bool,string,color和datetime)和你选择的变量名来声明一个变量并指定它的类型。

例:

intmyvaraible;

在这儿你声明了一个叫做myvaraible的整型变量。在声明之前你不能在程序里使用它。如果你使用了未经声明的变量,MQL4编译器将报错并给除如下信息:variablenotdefined.1error(s),0warning(s).

变量的初始化:

变量初始化的意思是给这个变量赋值。例如:myvaraible=10;你也可以在声明行对变量进行初始化,例如:intmyvaraible=10;并且你可以像下面这样,在一个地方声明变量。然后在另一个地方对它进行初始化:

intmyvaraible;

………

Myvaraible=10;

记住:只能初始化一个被声明了的变量。或者说初始化之前必须先声明。

变量的范围:

变量有两个范围:局部变量和全局变量。

范围的意思是程序的那一部分可以知道并使用这个变量。

局部变量:

局部变量的意思是在它被声明的区域外不能被识别。例如,被声明在函数中的变量是函数代码的局部变量。还有循环和选择中声明的变量,它只能在循环和选择中被局部的识别和使用。

例:

doublemy_func(doublea,doubleb,doublec)

{

intd;

return(ab+c);

}

在上面的例子中,a,b,c,d都是局部变量,它们仅能在函数代码块中使用。因此在上面的例子中,如果我们在大括号的后面写上这样一行:d=10;,那么就是错误的了。因为局部变量只能在它被声明的区中中被识别和使用。大括号外已经不是它被声明的区域了。

全局变量是被声明在任何代码块(函数,循环,选择)之外的变量,它在程序的任何部分被识别和使用。例:

intGlobal_Variable;

doublemy_func(doublea,doubleb,doublec)

{

return(ab+c+Global_Variable);

}

全局变量如果不被初始化,将被自动设置为0.

外部变量:

关键字extern被用来声明一种特殊类型的变量。例:

externcolorIndicator_color=C''0x00,0x00,0xFF'';//蓝色

intinit()

{

...

}

外部定义的可变量。在数据类型公布之前指定外部变量。

示例:

externdoubleInputParameter1=1.0;

externcolorInputParameter2=red;

intinit()

{

...

}



确定从外部程序输入的变量,会直接显现输入数据窗口。数列本身不能作为外部变量。Period,Shift,MA_method,Apply_to和Style都是extern定义的变量。

最后感谢大家,欢迎回帖批评指正。



献花(0)
+1
(本文系qilong首藏)