EA编程教程:第二讲数据类型详解

所有的程序本质上都是对数据进行操作,我们根据不同的需求为数据定义不同的类型。例如,整数类型的数据常用于数组操作,价格数据通常采用浮点型,MQL本身没有专用的货币类型。

不同数据类型在计算时有着不同的处理速度,其中整型处理最快,double类型由于需要特殊处理,速度稍慢,而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,超范围会引发异常。实践中我们通常直接用int来处理字符,例如:

int a = 'a';

int b = 'c';

4) string(字符串型):用于保存一段字符串,例如:

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

5) double(浮点型):用于保存带小数的数字,例如:

double a = 1.23;

double b = -90.98;

6) color(颜色类型):其内部实现也是一个整数,用来表示颜色值。

7) datetime(时间类型):内部同样基于int,瑞讯银行实际存储的是自1970年1月1日到指定时间的秒数。例如:

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

datetime c = D'2010.2.3 3:56';