support 发表于 2022-12-24 11:43:22

GlobalVariableSetOnCondition( )【全局变量篇-MQL4函数】

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

页: [1]
查看完整版本: GlobalVariableSetOnCondition( )【全局变量篇-MQL4函数】