Is there "from : to" function ?

I wonder if there is a function enable me to shorten this conditions:

if(High[i] >  High[1+i]

&&  High[i] >  High[2+i]

&&  High[i] >  High[3+i]

&&  High[i] >  High[4+i]

&&  High[i] >  High[5+i]

&&  High[i] >  High[6+i]

&&  High[i] >  High[7+i]

&&  High[i] >  High[8+i]

&&  High[i] >  High[9+i]

&&  High[i] >  High[10+i]

&&  High[i] >  High[11+i]

&&  High[i] >  High[12+i]

)

To become for example:

if(High[i] >  (High[1+i] : High[12+i] )

@William Roeder "Please say something useful or be silent" :)

Just get the highest value of that array range and verify that it is in fact at index [i] (use function ArrayMaximum).

For other situations, you can use a "for" loop to build up your boolean condition.

Fernando Carreiro:

Just get the highest value of that array range and verify that it is in fact at index [i] (use function ArrayMaximum).

For other situations, you can use a "for" loop to build up your boolean condition.

Thanks Mr. Fernando , but what if the code is :

if(Close[i] >  Close [1+i]

&&  Close [i] >  Close [2+i]

&&  Close [i] >  Close [3+i]

&&  Close [i] >  Close [4+i]

&&  Close [i] >  Close [5+i]

&&  Close [i] >  Close [6+i]

&&  Close [i] >  Close [7+i]

&&  Close [i] >  Close [8+i]

&&  Close [i] >  Close [9+i]

&&  Close [i] >  Close [10+i]

&&  Close [i] >  Close [11+i]

&&  Close [i] >  Close [12+i]

)

How can i use a "for" loop to build up my boolean condition?

Ahmed Abd El Aziz: Thanks Mr. Fernando , but what if the code is :How can i use a "for" loop to build up my boolean condition?

As an example of an "and (&&)" loop, here is sample code (compiled but untested):

```bool boolHighest = true;
for( int j = i + 1; j <= i + 12; j++ ) boolHighest = boolHighest && ( Close[ i ] > Close[ j ] );
if( boolHighest ) { /* your code for the valid condition */ };
```

Fernando Carreiro #:

As an example of an "and (&&)" loop, here is sample code (compiled but untested):

Thank you. It is working.

Ahmed Abd El Aziz #: but what if the code is :
```if(Close[i] >  Close [1+i]
&&  Close [i] >  Close [2+i]
&&  Close [i] >  Close [3+i]
&&  Close [i] >  Close [4+i]
&&  Close [i] >  Close [5+i]
&&  Close [i] >  Close [6+i]
&&  Close [i] >  Close [7+i]
&&  Close [i] >  Close [8+i]
&&  Close [i] >  Close [9+i]
&&  Close [i] >  Close [10+i]
&&  Close [i] >  Close [11+i]
&&  Close [i] >  Close [12+i]
)
```

How can i use a "for" loop to build up my boolean condition?

1. Please edit your two posts and use the CODE button (or Alt+S)! (For large amounts of code, attach it.)
General rules and best pratices of the Forum. - General - MQL5 programming forum (2019)
Messages Editor

2. MT5 has no predefined High[]/Close[]. Why did you post your MT4 question in the MT5 EA section instead of the MQL4 section, (bottom of the Root page)?
General rules and best pratices of the Forum. - General - MQL5 programming forum? (2017)
Next time, post in the correct place. The moderators will likely move this thread there soon.

3.  No loop is required for that. `if(Close[i] >  Close [ ArrayMaximum(Close, i+1, 12) ])` Or simplified. `if(i == ArrayMaximum(Close, i, 13))`

Reason: