30.05.2014

Язык программирования советников для MetaTrader 4 — MQL4

Автор: Владислав Павлов

MQL4 – это язык программирования, встроенный в торговую платформу MetaTrader 4. С помощью этого универсального языка, можно создавать такие полезные программы, как пользовательские индикаторы, различные скрипты, а также возможно создание советников – автоматические торговые системы (торговые роботы). Советники работают круглосуточно, не требуют постороннего вмешательства и отслеживают изменения по ценам на финансовые инструменты. Meta Trader советники способны отправлять письма на электронную почту, SMS на мобильный телефон, а также выполнять многие другие функции и полезные действия. MQL4 простой в использовании язык. Он очень схож с другим популярным языком – С. Поэтому, человеку, которых хоть немного знаком с понятие программирования, легко разберется в нюансах MQL4.

MQL4  программирование выводит трейдеров на качество новый уровень работы, помогает реализовать идеи прикладного программирования.

Настало время детально рассмотреть методы создания советников с помощью MQL4, путем использования мастера MetaEditor, который вызывается нажатие клавиш Ctrl+N.

Создание советников следует разбить на несколько пунктов.

Заходим в редактор программ MetaEditor 4. Далее открываем вкладку «Файл» и выбираем пункт «Создать». После этого появляется сам «Мастер создания советника». Выбираем тип будущего советника и жмем кнопку «Далее». После этого Вас перебрасывает на информационное окно, где потребуется ввести данные программиста: название советника, сайт и т.п.

Приступаем к редактированию советника. Здесь нужно добавить программе параметры, чтобы потом прикрепить советник на график цен. Это нужно для возможности дальнейшей передаче определенных сведений программе.

  • Фокусируем внимание на таблице «Параметры». Справа Вы увидите кнопку «Добавить». Жмите на эту кнопку и видите, что данный параметр целочисленный без первоначально заданного значения. Позже будет возможным отредактировать данные этого параметра. Делается это при помощи мышки, нажав ее на соответствующем поле в таблице. Далее нужно сменить название параметра на «Stop Loss», тип этого параметра ставим double, и прописываем значение по умолчанию «5». Завершаем редактирование советника нажатием клавиши «Готово». Теперь Ваш советник имеет базовый код.
  • После этого Вы увидите на мониторе заголовок, где нужно заполнить запрашиваемые данные: имя, автор и ссылка на ресурс. Далее появляются сведения о глобальной переменной и пустые данные по параметрам функций «start», «deinit» и «init». При этом параметры, которые Вы вводили в предыдущем пункте для параметров StopLoss, а именно «init», уже будет содержать Ваши указания: «double» и значение 5.
  • Функции «init» доступно прописать гораздо большее количество параметров. Но здесь нужно понимать, что чем больше будет указано параметров для этой функции, тем больше получим глобальных двойников (кодов). Двойники появятся у каждого кода. После работы с «Мастером создания советников» ненужные глобальные переменные можно удалить.

Коротко расскажем о функциях «start», «deinit», «init» и для чего они:

«start» — эта функция запускается автоматически при новом тике (изменение цены). Она является самой важной функцией советника, потому что на ней лежит самый важный отрезок работы в каждый момент времени. Здесь обязательно стоит обращать внимание на то, чтобы «start» начинал работу по новому тику, как только он наступает. Если функция не завершила работу над предыдущим тиком, а новый уже наступил, то по новому изменению цены функция не будет запускать работу.

«deinit» — функция необходима в случаях:

  • При завершении работы торговой платформы MetaTrader 4, или при закрытии графика цен.
  • при переключении по торговым счетам
  • при смене временного периода графика
  • при удалении советника с графика цен
  • при изменении параметров советника
  • при перекомпиляции программы MetaEditor

«init» — функция необходима в случаях:

  • При перекомпиляции программы MetaEditor
  • при подключении советника к графику
  • при смене торгового счета
  • при изменении параметров советника
  • при смене временного периода графика
  • после загрузки исторических данных и запуске торговой платформы MetaTrader 4

Данные функции являются фундаментальными, когда пишутся советники MetaTrader.