- 读写全局变量
- 检查是否存在和上次活动时间
- 获取全局变量列表
- 删除全局变量
- 临时全局变量
- 使用全局变量同步程序
- 将全局变量刷新到磁盘
检查是否存在和上次活动时间
我们在前一节已经知道,可以通过尝试读取其值来检查全局变量的存在性:如果未导致 _LastError 中出现错误代码,则全局变量存在,我们已经获取到其值并将其用于算法中。然而,如果在某些情况下你仅需要检查其存在性而不需要读取全局变量,使用另一个专门为此设计的函数会更方便,即:GlobalVariableCheck。
还有另一种检查方式,就是使用 GlobalVariableTime 函数。顾名思义,该函数可以找出上次使用变量的时间。但如果该变量不存在,则其使用时间不存在,即等于 0。
bool GlobalVariableCheck(const string name)
该函数使用指定名称检查全局变量的存在性,并返回结果:true(变量存在)或者 false(变量不存在)。
datetime GlobalVariableTime(const string name)
该函数返回具有指定名称的全局变量的上次使用时间。“使用”这一事实可通过变量值的修改或读取来表示。
使用 GlobalVariableCheck 检查变量存在性或通过 GlobalVariableTime 获取其时间并不会更改使用时间。
在 GlobalsRunCheck.mq5 脚本中,我们对 GlobalsRunCount.mq5 的代码进行了小幅补充,以便在函数 OnStart 的最开始检查变量的存在性及其使用时间。
void OnStart()
|
下面的代码不变。同时,请注意,通过 __FILE__ 定义的 gv 变量这次将包含新的脚本名称 "GlobalsRunCheck.mq5" 作为全局变量的名称(即每个脚本有其自己的全局计数器)。
除了第一次运行外,后续所有所有运行都将在 GlobalVariableCheck 函数显示 true(变量存在)以及该变量前一次运行的时间。下面是一个示例日志:
GlobalVariableCheck(gv)=false / ok
|