Текущие котировки


<a href="https://instaforex.com/ru/">ИнстаФорекс портал</a>

<a href="https://www.instaforex.com/ru/">Форекс Portal</a>

Наши преимущества

Бонус 250%
Форекс аналитика
ПАММ-Система
ForexCopy

Язык MQL4 – просто о сложном

Переключатель switch

Как и в случае с циклами, нужно отметить, что switch можно заменить на комбинацию привычных вам условий if и else. Конструкция switch используется в том случае, когда вам нужно выполнить определенные действия в зависимости от значения какой-то переменной. Это похоже на обычный переключатель режимов в микроволновке. Например, представьте, что вы пишите советника и он изменяет свое поведение в зависимости от состояния рынка. Пусть за это отвечает переменная int marketState. Она может принимать следующие значения:

  • 1 - восходящий тренд
  • 2 - нисходящий тренд
  • 3 - флэт

Неважно как определяется это состояние, наша задача реализовать какой-то механизм, чтобы советник в зависимости от состояния рынка выполнял соответствующие действия. Что ж, вы умеете это делать. Самый очевидный вариант выглядит следующим образом:

Тут нужно отметить несколько особенностей:

  • все условия проводятся с одной и той же переменной;
  • все условия сводятся к сравнению этой переменной с одним из значений, которые она способна принимать.

Так вот, все это относится и к структуре switch. Посмотрите на аналогичный по результату код, который использует switch:

Обратите внимание, сначала мы указываем какую переменную будем сравнивать:

В общем виде switch имеет такую форму:

Используйте switch, если сравниваете одну переменную с несколькими значениями и каждому значению соответствует определенный блок кода. В любом другом случае используйте обычные комбинации условий if и else. Иногда нужно выполнить какой-то код при нескольких значениях переменной. То есть, например, если marketState == 1 или 2, то выполнить такой-то код. Вот как это можно сделать используя switch:

   Ко всему списку