整型
整型数据
在MQL5中整数有11个类型,如果逻辑程序需要,一些类型能与另一些类型一起使用,但是在此种情况下,要记住类型转换 规则。
下面列表中显示了每一类型的特性,此外,每一类型的最后一列均与C++程序类型相同。
| 类型 | 字节大小 | 最小值 | 最大值 | C++ 类比 |
|---|---|---|---|---|
| char | 1 | -128 | 127 | char |
| uchar | 1 | 0 | 255 | unsigned char, BYTE |
| bool | 1 | 0(false) | 1(true) | bool |
| short | 2 | -32 768 | 32 767 | short, wchar_t |
| ushort | 2 | 0 | 65 535 | unsigned short, WORD |
| int | 4 | - 2 147 483 648 | 2 147 483 647 | int |
| uint | 4 | 0 | 4 294 967 295 | unsigned int, DWORD |
| color | 4 | -1 | 16 777 215 | int, COLORREF |
| long | 8 | -9 223 372 036 854 775 808 | 9 223 372 036 854 775 807 | __int64 |
| ulong | 8 | 0 | 18 446 744 073 709 551 615 | unsigned __int64 |
| datetime | 8 | 0 (1970.01.01 0:00:00) | 32 535 244 799 (3000.12.31 23:59:59) | __time64_t |
整型值也可视为数字常数,颜色值和,日期-时间值,字符常量 和计数 。
其他整数类型别名(用于 C/C++ 兼容性)
为了简化从其他语言(如 C 和 C++)移植代码,MQL5 语言中添加了标准整数类型的别名。这些别名不会引入新类型,而是 MQL5 中现有类型的替代名称。它们可以在所有适用于基础类型的情况下使用。
| 类型 | 对应于 MQL5 类型 | 大小(字节) | 符号 | 最小值 | 最大值 |
|---|---|---|---|---|---|
| int8_t | char | 8 | 有符号 | -128 | 127 |
| uint8_t | uchar | 8 | 无符号 | 0 | 255 |
| int16_t | short | 16 | 有符号 | -32 768 | 32 767 |
| uint16_t | ushort | 16 | 无符号 | 0 | 65 535 |
| int32_t | int | 32 | 有符号 | - 2 147 483 648 | 2 147 483 647 |
| uint32_t | uint | 32 | 无符号 | 0 | 4 294 967 295 |
| int64_t | long | 64 | 有符号 | -9 223 372 036 854 775 808 | 9 223 372 036 854 775 807 |
| uint64_t | ulong | 64 | 无符号 | 0 | 18 446 744 073 709 551 615 |
这些别名在将现有库和算法从 C/C++ 移植到 MQL5 时非常有用,特别是在具有高度平台兼容性的项目中。所有新名称都可以在脚本、EA 和指标中使用。