Скажите а если два условия подрят стоят ? как это работает ?

 
Скажите а если два условия подрят стоят ? как это работает ? Обычно же после каждого условия скобки идут ....

if(Open[0]>MA+Xopen*Point && Bid+Xsell*Point>MA)
     if(CheckOrders(OP_BUY)==True && MAPrev>MA)
 

Так же как и со скобками!
Скобки нужны в зависимости от приоритетов операций, .. .. например: if ((a && b)|| (c && d)) это НЕ тоже самое, что if (a && b || c && d)

Справочник MQL4 - Основы языка - Операции и выражения - Приоритеты и порядок выполнения операций

 
Ronen:

Так же как и со скобками!
Скобки нужны в зависимости от приоритетов операций, .. .. например: if ((a && b)|| (c && d)) это НЕ тоже самое, что if (a && b || c && d)

Справочник MQL4 - Основы языка - Операции и выражения - Приоритеты и порядок выполнения операций


да но я не об этом ... обычная запись условия :
If ( Выражение)
{
оператор1
операто2
оператор3
}

А что значит если так :
IF (Выражение 1)
IF (Выражение 2)
{
оператор1
Оператор2
Оператор3
}

???
 
Это значит,что если IF (Выражение 1) сработало,то проверяем IF (Выражение 2) и если (Выражение 2) верно,то {...}.
А если IF (Выражение 1) не сработало,то не проверяем IF (Выражение 2) и не важно что в (Выражение 2) по любому {...} не выполнится!
 
тоже самое что и

IF (Выражение 1 && Выражение 2)
{
оператор1
Оператор2
Оператор3
                   }
 

Это делается для ускорения быстродействия программы, к примеру если есть две функции:
bool f1() - выполняется за 1 секунду
bool f2() - выполняется за 30 секунд
то применение выражения if (f1())if(f2()) {...} будет лучше,чем if (f1()&&f2())

особенно разница будет заметна при тестировании на тестере(особенно при оптимизации).

 
Integer:
тоже самое что и

IF (Выражение 1 && Выражение 2)
{
оператор1
Оператор2
Оператор3
}
Не всегда тоже самое.
В чистом С насколько помню это будет то же самое.
В МТ не помню, но смутные воспоминания говорят что вроде бы не то же ...
Вроде бы в МТ сначала всегда вычисляются Выражение 1 и Выражение 2, а потом делается &&.
(это сильно отличается от исходного оператора ...)
 
Mak писал (а):
Integer писал (а):
тоже самое что и

IF (Выражение 1 && Выражение 2)
{
оператор1
Оператор2
Оператор3
}
Не всегда тоже самое.
В чистом С насколько помню это будет то же самое.
В МТ не помню, но смутные воспоминания говорят что вроде бы не то же ...
Вроде бы в МТ сначала всегда вычисляются Выражение 1 и Выражение 2, а потом делается &&.
(это сильно отличается от исходного оператора ...)

Все понял !!! Всем спасибо огромное !!!!
Причина обращения: