Содержание статьи: (кликните, чтобы перейти к соответствующей части статьи):
- Составные элементы оператора условия MQL4 — if else
- Оператор условия в MQL4 – if else
- Практический пример использования условия if-else
Здравствуйте, дорогие друзья. В данной статье мы с Вами рассмотрим условия в языке MQL4 – if else. Но, прежде чем мы с Вами приступим, нам необходимо изучить составные элементы этого условия.
Составные элементы оператора условия MQL4 — if else
Ранее, мы с Вами уже использовали знак присваивания =. Он означает, что какой-либо переменной присваивается какое-либо значение. Знак равно – это знак присваивания. Но, если мы ставим два знака равно подряд, то это обозначает вопрос – «равно ли» или «если равен»?
y==1;
равен ли «y» единице? Иначе говоря, можно сказать, если «y» равняется единице, то…
То есть, когда один знак равно, то это как бы констатация факта, «y»=1. А когда два знака равно, то это вопрос: «Если «y» равен 1…то». Этот момент достаточно важен.
Итак, перечислим все составные элементы условия:
== если равняется =! если не равняется < если меньше > если больше <= если меньше или равно >= если больше или равно || или && и
Следует запомнить данные элементы нашего условия.
Оператор условия в MQL4 – if else
Теперь, давайте рассмотрим само условие if else.
Условие прописывается следующим образом:
if () { }
Где внутри круглых скобок прописано само условие, например, (a>b). А внутри тела прописываем действие, которое должно произойти, например,{x=1}. То есть, если (a>b), то {x=1;}. Внимание, внутри фигурных скобок, после действия, всегда ставим точку с запятой!
if (a>b) { x=1; }
Внутри фигурных скобок действий может быть достаточно много:
if (a>b) { x=1; y=2; z=x+y; } Comment(z);
Этим кодом мы прописали следующее условие: если a>b, то x=1, y=2, а z=x+y. И во всех остальных случаях, а это если a<b или a=b, то z уже будет равняться просто самой себе. И после все этого, на экран выводится значение z при помощи команды Comment().
Также можно делать составные условия. Если (a>b), то выполняется этот код {x=1; y=2; z=x+y;}, иначе (else) если (if) (a<b), то выполняется какой-то другой код, например, {z=x-y}. И дальше опять иначе (else), например, {z=x}. Пропишем это все в коде MQL4:
if (a>b) { x=1; y=2; z=x+y; } else if (a<b) { z=x-y; } else z=x; Comment(z);
Что у нас в итоге получилось? Если (a>b), то у нас выполняется код {x=1; y=2; z=x+y;}, иначе, если (a<b), то выполняется этот код {z=x-y}, иначе {z=x}.
Практический пример использования условия if-else
Теперь рассмотрим все это на практическом примере.
#property copyright "Copyright (с) Антон SanGReal Invest" #property link "https://sgr-tradeinvest.ru" #property version "1.00" #property strict extern int y = 0; void OnTick() { if (y>0 && y<4) { Comment(y," - это плохая оценка"); } else if (y==4 || y==5) { Comment(y," - это хорошая оценка"); } else { Comment(y," - такой оценки нет"); } }
В данном коде условия мы с Вами использовали разные типы сравнения. Условием (y>0 && y<4) мы с Вами задали промежуток значений «y» от 1 до 3 включительно. То есть, «y» обязательно должно быть больше 0 и меньше 4.
Условием (y==4 || y==5) мы определили, что «y» может быть равен 4 или равен 5.
Ну, и на конец, во всех остальных случаях (где просто else) – таких оценок не существует.
Теперь давайте проверим наш советник в реальной работе. Компилируем MQL4 код, переходим в терминал MetaTrader, подключаем наш советник к графику и во входящих параметрах советника ставим значение для «y» равное 0.
И, смотрим результат на графике:
Если во входящих параметрах поставим 2, то результат будет такой:
Ну, и если поставим 5, то результат будет таким:
В этом, собственно, и заключается вся работа условий if else.
Если у Вас появились какие-то вопросы по материалу данной статьи, задавайте их в комментариях ниже. Я Вам обязательно отвечу. Да и вообще, просто оставляйте там Вашу обратную связь, я буду очень рад.
Также, делитесь данной статьей со своими знакомыми в социальных сетях, возможно, этот материал кому-то будет очень полезен.
На этом в данной статье, все. Благодарю за внимание. В следующей статье мы рассмотрим основную структуру функций и команд в MQL4 и ошибки новичков, связанные с этой структурой.
Другие статьи по теме Программирование на MQL4 Вы можете просмотреть в данном содержании практических уроков по MQL.
Понравился материал статьи?
Добавьте эту статью в закладки Вашего браузера, чтобы вернуться к ней еще раз. Для этого, прямо сейчас нажмите на клавиатуре комбинацию клавиш Ctrl+D
С уважением, Антон.
Обучающий Форекс портал SanGReal Invest