临时全局变量

在终端的全局变量子系统中,能够将某些变量设为临时变量:这些变量仅存储在内存中,当终端关闭时不写入到磁盘。

由于它们的特定性质,临时全局变量仅用于 MQL 程序之间的数据交换,不适合用于保存 MetaTrader 5 启动间隔的状态。临时变量最明显的用途之一就是存储运行活动的各种指标(例如,程序副本运行计数器),这些指标应在每次启动时动态重新计算,而不是从磁盘还原。

一个全局变量应在为其赋予任何值之前使用 GlobalVariableTemp 函数将其声明为临时变量。

遗憾的是,无法通过全局变量的名称确定其是否为临时变量:MQL5 未提供这方面的方法。

临时变量只能使用 MQL 程序来创建。临时变量与普通(持续性)全局变量一起显示在“全局变量”窗口中,但是用户无法从 GUI 自行添加临时变量。

bool GlobalVariableTemp(const string name)

该函数以指定名称创建一个新的全局变量,仅存在周期仅限于当前终端会话的生命周期。

如果具有相同名称的变量已存在,则不会将其转换为一个临时变量。

然而,如果这样的变量还不存在,则其初始值为 0。之后,你可以将其作为常规变量使用,特别是可以使用 GlobalVariableSet 函数为其赋予其它值。

我们将结合下一节的函数演示此函数的用法示例。