诚信为本
量力而为
当前位置:峰汇在线 > MQL语言 > MQL4中文帮助文档 > 正文

13 Global variables 全局变量

本文目录

和整体变量一起使用的一组函数。
客户端整体变量不应该与 MQL4 程序中的变量混合。
最后访问的整体变量可以在客户端内保存 4 个星期,随后将被自动删除。 对于整体变量的范文不仅仅是新值的设定,同样可以对整体变量进行读取。
在客户端从 MQL4 程序开启的客户端整体变量非常相似。

GlobalVariableCheck

bool GlobalVariableCheck( string name)
如果整体变量存在,返回TRUE.否则,返回FALSE。 要获得详细的错误信息,查看GetLastError()函数。
参量:  name ‐ 整体变量名称。
示例:
// 检查先前使用变量
if(!GlobalVariableCheck(“g1”))
GlobalVariableSet(“g1”,1);

GlobalVariableDel

bool GlobalVariableDel( string name)
删除整体变量。 如果函数成功,返回值将是真实的,否则,它将是错误的。要获得详细的错误信息,查看 GetLastError() 函数。
参量:   name – 整体变量名称。
示例:  // 删除名称为  “gvar_1″的整体变量(“gvar_1”);

GlobalVariableGet

double GlobalVariableGet( string name)
如果错误生成,返回值为现有整体变量或 0。 获得详细的错误信息, 查看 GetLastError()函数。
参量: name – 整体变量名称。
示例:
double v1=GlobalVariableGet(“g1”);
//‐‐‐‐ 检查函数调用结果
if(GetLastError()!=0) return(false);
//‐‐‐‐ 继续程序

GlobalVariableName

string GlobalVariableName( int index)
由函数索引在整体变量名单返回一个整体变量的名字。获得详细的错误信息, 查看GetLastError()函数。
参量:
index – 索引在整体变量名单。 它必须超出或相等于 0 或少于 GlobalVariablesTotal()。
示例:
int    var_total=GlobalVariablesTotal();
string name;
for(int i=0;i<var_total;i++)
{
name=GlobalVariableName(i);
Print(i,”: 整体变量名称 ‐ “,name);
}

GlobalVariableSet

datetime GlobalVariableSet( string name, double value)
设置整体变量的新的价格值。 如果它不存在,系统创造一个新的整体变量。 如果函数成功,返回值将是最后存取时间。否则,返回值将是 0。获得详细的错误信息,查看 GetLastError()函数。
参量:
name – 整体变量名称。
value – 新的数值。
示例:
//‐‐‐‐ 尝试设定新值
if(GlobalVariableSet(“BarsTotal”,Bars)==0)
return(false);
//‐‐‐‐ 继续程序

GlobalVariableSetOnCondition

bool GlobalVariableSetOnCondition( string name, double value, double check_value)
如果当前值均等对第三参量 check_value,设置现有的整体变量的新值。 如果没有整体变量,函数将生成 错误 ERR_GLOBAL_VARIABLE_NOT_FOUND (4058) 并且返回 FALSE。当成功地执行,函数返回 TRUE,否则,它返回 FALSE。获得详细的错误信息, 查看 GetLastError() 函数。
如果整体变量的当前值与 check_value 不同, 函数将返回 FALSE。
函数将为整体变量提供自动通道,这就是为什么在一个客户终端内几个智能交易可以同时运行的原因。
参量:
name – 整体变量名称。
value – 新值。
check_value – 值与当前整体变量值比较。
示例:
int init()
{
//‐‐‐‐ 创建整体变量
GlobalVariableSet(“DATAFILE_SEM”,0);
//…
}
int start()
{
//‐‐‐‐ 尝试锁住源代码
while(!IsStopped())
{
//‐‐‐‐ 锁住
if(GlobalVariableSetOnCondition(“DATAFILE_SEM”,1,0)==true)  break;
//‐‐‐‐ 可以删除变量吗?
if(GetLastError()==ERR_GLOBAL_VARIABLE_NOT_FOUND) return(0);
//‐‐‐‐ 睡眠状态
Sleep(500);
}
//‐‐‐‐ 源代码被锁
// …做同样工作
//‐‐‐‐未锁源代码
GlobalVariableSet(“DATAFILE_SEM”,0);
}

GlobalVariablesDeleteAll

int GlobalVariablesDeleteAll( void prefix_name)
删除整体变量。 如果命名前缀没有指定,所有整体变量将被删除。 否则,仅有那些可变物将被删除。从指定的前缀开始。 函数返回被删除的可变物计数。
参量: prefix_name – 将被删除的整体变量的命名前缀。
示例: Print(GlobalVariablesDeleteAll(“test_”),” 整体删除测试”);

GlobalVariablesTotal

int GlobalVariablesTotal( )
函数返回整体变量总值。
示例: Print(GlobalVariablesTotal(),”探测整体变量”);

打赏
版权所有转载请注明标题及链接:峰汇在线 » 13 Global variables 全局变量
上一篇:
下一篇:
分享到: 更多 (0)

如您觉得此文不错请扫码打赏!

支付宝扫一扫打赏

微信扫一扫打赏