外汇EA编程入门:常用数据类型详解

所有的程序本质上都是对数据进行操作,我们根据不同的需求为数据定义不同的类型。比如,处理数字时使用整型,价格数据则采用浮点型。MQL语言本身并没有专门的货币类型,这一点需要注意。

不同的数据类型在处理速度上也有所差异。其中,整型数据的处理速度最快,double类型由于需要特殊处理,DLSM速度稍慢一些,而string字符串类型的处理速度最慢,因为字符串需要动态地分配和释放内存,对内存的操作较为频繁。

以下是常用的数据类型:

1) int,整型,这是我们常见的整数,如1、-100、908等。它的取值范围为-2147483648到2147483647,如果超出这个范围,程序会提示异常。

2) bool,布尔型,它的值只有两个:true或false。实际上,bool型本质上就是int类型,只是它的值被限定为1(true)和0(false)。例如:

bool a = true;

bool b = 0; //b的值为false

3) char,字符型,它的内部实现也是int型,范围从0到255。如果超过这个范围,DLSM程序会提示异常。我们不直接使用char,而是用int来表示字符,如:

int a = 'a';

int b = 'c';

4) string,字符串类型,用来保存一串字符,例如:

string a = "这是一个字符串";

5) double,浮点型,用于存储带有小数的数值,例如:

double a = 1.23;

double b = -90.98;

6) color,颜色类型,其内部实现其实也是int型。

7) datetime,时间类型,内部同样是一个int型,它的实际值是从1970年1月1日到指定时间的秒数。时间类型的赋值方式如下:

datetime d = D'2010.1.1 12:3:4'

datetime c = D'2010.2.3 3:56';