MQL5 语言的预定义常量

本节介绍由运行时环境为任何程序定义的所有常量。在前面章节中我们已经接触过其中一些常量。某些常量涉及应用的 MQL5 编程要素,将在后面章节中介绍。

常量

说明

CHARTS_MAX

最大可能数量:同时打开的 图表

100

clrNONE

颜色

-1 (0xFFFFFFFF)

EMPTY_VALUE

指标缓冲区中的空值

DBL_MAX

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 函数在运行时获取有关程序运行模式的更详细信息(参见 终端和程序运行模式)。特别要注意的是,程序的调试构建版本可在没有调试器的情况下运行。