MQL5 语言的预定义常量
本节介绍由运行时环境为任何程序定义的所有常量。在前面章节中我们已经接触过其中一些常量。某些常量涉及应用的 MQL5 编程要素,将在后面章节中介绍。
常量 |
说明 |
值 |
---|---|---|
CHARTS_MAX |
最大可能数量:同时打开的 图表 |
100 |
clrNONE |
无 颜色 |
-1 (0xFFFFFFFF) |
EMPTY_VALUE |
指标缓冲区中的空值 |
|
INVALID_HANDLE |
句柄无效 |
-1 |
NULL |
任何类型 null |
0 |
WHOLE_ARRAY |
直至数组末尾的元素数量,即整个数组将被处理 |
-1 |
WRONG_VALUE |
一个常量可被显式强制转换为任何枚举类型 |
-1 |
如 文件 一章中所示,INVALID_HANDLE 常量不能用于验证文件描述符。
WHOLE_ARRAY 常量适用于处理如下 数组 的函数:其要求指定处理数组中的元素数量:如果有必要处理从指定位置到末尾的所有数组值,则指定 WHOLE_ARRAY 值。
EMPTY_VALUE 常量通常被指派给 指标缓冲区中不应在图表上绘出的元素。换言之,该常量表示一个默认 空值。稍后我们将介绍对于具有另一个值(例如 0)的特定指标缓冲区如何进行替换。
WRONG_VALUE 常量适用于需要指定一个不正确的 枚举 值的情况。
此外,两个常量具有不同的值,取决于编译方法。
常量 |
说明 |
---|---|
IS_DEBUG_MODE |
表示以调试模式运行 mq5 程序的属性:在调试模式下不为零,在其他模式下为 0。 |
IS_PROFILE_MODE |
表示以分析模式运行 mq5 程序的属性:在分析模式下不为零,在其他模式下为 0。 |
IS_PROFILE_MODE 常量允许你更改程序的运行,以便在 概要分析 模式下正确收集信息。分析可让你测量单个程序片段(函数和单个行)的执行时间。
在编译期间,编译器设置 IS_PROFILE_MODE 常量值。一般情况下设置为 0。当程序以分析模式启动时,执行特殊编译,在此情况下,使用非零值而不是 IS_PROFILE_MODE。
IS_DEBUG_MODE 常量以类似方式工作:原生编译时它等于 0,调试编译后大于 0。在出于验证目的而需要小幅更改 MQL 程序运行的情况下,这个常量很有用:例如,向日志输出额外信息,或者在图表上创建辅助图形对象。
预处理器定义含义类似的 _DEBUG 和 _RELEASE 常量(参见 预定义预处理器常量)。
可使用 MQLInfoInteger 函数在运行时获取有关程序运行模式的更详细信息(参见 终端和程序运行模式)。特别要注意的是,程序的调试构建版本可在没有调试器的情况下运行。