循环mql4的布尔函数

时间:2017-09-23 13:45:21

标签: for-loop mql4

我想写一个重复的if条件

if (BOX_H1(1) && BOX_H1(2) && BOX_H1(3) && BOX_H1(4) && BOX_H1(5) && BOX_H1(6) && BOX_H1(7) && BOX_H1(8);)

在for循环形式中,如下所示:

if (
for (int x=1;x<=7; x++)
          {
               (BOX_H1(x));

          })

其中BOX_H1(1)是一个带有int(shift参数)的布尔函数,但是这个代码可以运行。

任何人都知道如何写出来?

编辑: 我的代码采用以下形式:

bool Buy_H1 =0, ...

...

if(Buy_H1) {if(...)}

...

void Entry() 
{
Buy_H1 =BOX_H1(1) && BOX_H1(2) && BOX_H1(3) && BOX_H1(4) && 
        BOX_H1(5) && BOX_H1(6) && BOX_H1(7) && BOX_H1(8) ;
}

如果代替最后一个代码,我替换

void Entry() 
{
bool Buy_H1(const int parameter){
for(int i=1; i<=parameter; i++){
  if(!BOX_H1(i))
     return false; }
return true; }
}

我到达'Buy_H1' - function can be declared only in the global scope

1 个答案:

答案 0 :(得分:1)

bool booleanFunction( const int parameter ){
     for( int i = 1; i <= parameter; i++ ){
          if ( !BOX_H1( i ) )
               return false;
     }
     return true;
}


void OnStart(){
     ...
     if (  booleanFunction( 8 ) ){
           Print( "OK" );
     }                                   //edited, your code instead of this
     ...
}