Приведу пару конструкций условий с оператором if, которые программист обычно применяет при написании программы на MQL4.
Конструкция №1: один оператор if с использованием сложного условия.
externbool Condition = False;
int K = 0;
int fun()
{
K = 1;
return(1);
}
int init()
{
if (Condition && fun() == 1)
K = 2;Print(K);
}
Конструкци №2: использование сложного условия с помощью двух оператор if.
externbool Condition = False;
int K = 0;
int fun()
{
K = 1;
return(1);
}
int init()
{
if (Condition)
if (fun() == 1)
K = 2;Print(K);
}
А Вы знали, что две эти конструкции оператора if работают по разному?
В конструкции №1, даже если и не выполнится условие Condition, функция fun() присвоит переменной K значение "1", т.е. второе условие, а вместе с ним функция, также выполнятся. Казалось бы условие Condition стоит первым, так как оно главенствующее и остальное уже не важно! Но компилятор этого не поймёт... Например, нужно на время отключить выставление позиций в безубыток или
трал, или какой-то критерий определения тренда у советника.
Если в функции нет внешних переменных, то она просто выполнится в холостую и ничего не произойдёт. А если всё же есть? Программист может легко запутаться при тестировании программы. Да и холостые операции Никому не нужны. Падает быстродействие, что не мало важно.
По конструкции №2 думаю пояснений не нужно.
Зачем была создана тема? Чтобы предостеречь неопытных программистов, Наших новичков. Выслушать мнение профи. Может Я чего-то упустил. Или данное обсуждение уже выдвигалась, тогда прошу снести тему и написать в личку ссылку, если это возможно. :)))
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Приведу пару конструкций условий с оператором if, которые программист обычно применяет при написании программы на MQL4.
Конструкция №1: один оператор if с использованием сложного условия.
Конструкци №2: использование сложного условия с помощью двух оператор if.
А Вы знали, что две эти конструкции оператора if работают по разному?
В конструкции №1, даже если и не выполнится условие Condition, функция fun() присвоит переменной K значение "1", т.е. второе условие, а вместе с ним функция, также выполнятся. Казалось бы условие Condition стоит первым, так как оно главенствующее и остальное уже не важно! Но компилятор этого не поймёт... Например, нужно на время отключить выставление позиций в безубыток или трал, или какой-то критерий определения тренда у советника.
Если в функции нет внешних переменных, то она просто выполнится в холостую и ничего не произойдёт. А если всё же есть? Программист может легко запутаться при тестировании программы. Да и холостые операции Никому не нужны. Падает быстродействие, что не мало важно.
По конструкции №2 думаю пояснений не нужно.
Зачем была создана тема? Чтобы предостеречь неопытных программистов, Наших новичков. Выслушать мнение профи. Может Я чего-то упустил. Или данное обсуждение уже выдвигалась, тогда прошу снести тему и написать в личку ссылку, если это возможно. :)))