как в if() воспринимаются три условия, меж которыми && и ||?

 

Для каждой группы операций в таблице приоритет одинаков. Чем выше приоритет группы операций, тем выше она расположена в таблице. Порядок выполнения определяет группировку операций и операндов.

()     Вызов функции                            Слева направо
[]     Выделение элемента массива
!      Логическое отрицание                     Справа налево
-      Изменение знака
++     Увеличение на единицу (increment)
--     Уменьшение на единицу (decrement)
~      Побитовое отрицание (complement)
&      Побитовая операция И                     Слева направо
|      Побитовая операция ИЛИ
^      Побитовая операция исключающее ИЛИ (eXclude OR)
<<     Сдвиг влево
>>     Сдвиг вправо
*      Умножение                                Слева направо
/      Деление
%      Деление по модулю
+      Сложение                                 Слева направо
-      Вычитание
<      Меньше, чем                              Слева направо
<=     Меньше или равно
>      Больше, чем
>=     Больше или равно
==     Равно
!=     Не равно
||     Логическая операция ИЛИ                  Слева направо
&&     Логическая операция И                    Слева направо
=      Присваивание                             Справа налево
+=     Сложение с присваиванием
-=     Вычитание с присваиванием
*=     Умножение с присваиванием
/=     Деление с присваиванием
%=     Деление по модулю с присваиванием
>>=    Сдвиг вправо с присваиванием
<<=    Сдвиг влево с присваиванием
&=     Побитовое И с присваиванием
|=     Побитовое ИЛИ с присваиванием
^=     Исключающее ИЛИ с присваиванием
,      Запятая                                  Слева направо


Для изменения порядка выполнения операций применяются круглые скобки, которые имеют высший приоритет.
Внимание: приоритет выполнения операций в языке MQL4 несколько отличается от приоритета, принятого в языке Си.

 

узнал что внутри if можно ставить скобки :)

значит просто напишу if (условие1 && (условие2 || условие3))

Причина обращения: