|
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);
}
|
|