MQL4: основы языка, типы программ и примеры использования

Что такое MQL4? MQL4 означает MetaQuotes Language. Это язык программирования, включенный в торговый терминал MetaTrader 4. Язык программирования — это язык, на котором разработчик пишет программу. Программа в свою очередь позволяет компьютеру выполнять определенную последовательность действий.

MQL4 был выпущен вместе с первой версией MetaTrader 4 в 2005 году. За прошедшие годы он прошел через множество обновлений. В 2014 году он был полностью переработан и был выпущен 600 билд, важное обновление, в котором было представлено больше возможностей, что привело его почти к такому же уровню, как и MQL5.

MQL4 и MQL5 имеют некоторые важные различия, но сейчас мы сосредоточимся только на MQL4 и MetaTrader 4.

Введение в MQL

В последние годы валютный рынок быстро стал одним из самых популярных рынков для торговли. Из-за круглосуточной работы, высокого кредитного плеча и низкого уровня маржи тысячи простых людей смогли стать активными трейдерами.

MetaTrader 4 стал одной из самых популярных торговых платформ для торговли на форекс и предлагается сотнями брокеров по всему миру.

Популярность MetaTrader обусловлена ​​тем, что он бесплатный, постоянно поддерживается и включает в себя множество полезных инструментов технического анализа. Но, вероятно, главной причиной успеха MetaTrader является мощный язык программирования MQL.

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

Сходство MQL с такими языками, как C, позволяет опытным программистам относительно легко разобраться в его коде, а сам язык хорошо документирован. Однако обучение эффективному программированию торговых стратегий на MQL — это постоянный процесс проб и ошибок.

MQL — это язык относительно низкого уровня, и поэтому программисту необходимо создавать собственные процедуры для обработки многих общих торговых функций. Например, написать трейлинг стоп может быть непросто для начинающего программиста на MQL.

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

На официальном веб-сайте MQL4 по адресу http://www.mql4.com вы сможете найти подробный справочник по MQL, который всегда будет для вас полезным. Также на этом сайте вы найдете множество информационных статей, в которых рассматриваются базовые и продвинутые концепции программирования на MQL, библиотеку кода с дополнительными индикаторами и примерами, а также форум, где вы можете обратиться за помощью по вопросам программирования.

Расширения файлов MQL4

Файлы MQL4 имеют следующие расширения:

.mq4 — исходный, текстовый формат файла, который содержит инструкции, предназначенные для исполнения. Вы можете открыть его с помощью MetaEditor или любого редактора текстовых файлов. Этот файл должен быть скомпилирован для запуска в MetaTrader.

.ex4 — это скомпилированная версия, реальная программа, которая может быть запущена в MetaTrader. Вы не сможете открыть ее с помощью другой программы, кроме MetaTrader. Если вы купите советника или торгового робота для MetaTrader, скорее всего, они будут с расширением .ex4.

.mqh — это библиотеки, содержащие дополнительные функции, которые вы можете включать и использовать в своих программах. Файлы .mq4 можно открыть с помощью MetaEditor или любого редактора текстовых файлов.

mql4 - файлы mq4 и ex4

mql4 - структура папок

MQL4 использует синтаксис, аналогичный С, C++, C Sharp, Java. Если вы уже знаете некоторые из этих языков, вам не понадобится много времени, чтобы изучить MQL4.

Расположение файлов

Все файлы MetaEditor хранятся в папке MQL4. Папка MQL4 находится в каталоге установки MetaTrader.

Внутри папки MQL есть множество подпапок:

  • experts — папка для исходных кодов и исполняемых файлов советников.
  • indicators — папка для исходных кодов и исполняемых файлов индикаторов.
  • scripts — папка для исходных кодов и исполняемых файлов скриптов.
  • include — здесь находятся исходные коды включаемых файлов с расширением .mqh.
  • libraries — здесь хранятся библиотеки функций и библиотеки DLL.
  • logs — журналы активности. Они будут полезны для отладки ваших советников.
  • presets — здесь хранятся настройки советников, которые сохраняются или загружаются из диалога свойств.
  • files — файлы, используемые для ввода или вывода.

Что вы сможете делать с помощью MQL4?

MQL4 — чрезвычайно мощный инструмент, который при правильном использовании может значительно расширить ваши торговые возможности. С помощью MQL4 вы можете:

  • Выполнять различные математические операции. К примеру, рассчитывать размер позиции с учетом заданного риска.
  • Рассчитывать стоп-лосс и тейк-профит.
  • Открывать и закрывать ордера.
  • Отправлять уведомления в торговый терминал или по электронной почте.
  • Создавать файлы отчетов.
  • Создавать собственные индикаторы.
  • Автоматизировать свою торговлю, чтобы ваш торговый терминал мог торговать без вашего взаимодействия.

Как видите, MQL4 предоставляет вам множество дополнительных возможностей и позволяет автоматизировать вашу торговлю.

Типы программ MQL4

С помощью MQL4 можно создавать различные типы программ, каждая из которых будет отличаться от других. Также стоит отметить, что один тип программы может быть включен в другие типы программ. К примеру, индикатор может использоваться в скрипте или в торговом эксперте.

MQL-программы можно разделить на несколько категорий:

  • Включаемые файлы.
  • Библиотеки.
  • Скрипты.
  • Индикаторы.
  • Советники.

mql4 - скрипты, индикаторы, советники

Разберем каждый тип программ более подробно.

Включаемые файлы

Включаемые файлы — это исходные текстовые файлы, содержащие код, который вы можете использовать в других программах. Включаемые файлы имеют расширение MQH и хранятся в папке Include в каталоге MetaTrader или в той же папке, что и исходные файлы. Включаемые файлы не могут быть запущены сами по себе, они могут быть только включены в другие типы программ.

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

Библиотеки

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

Скрипты

Скрипты — это программы, которые после запуска выполняют определенное действие всего лишь один раз. Исходный файл скриптов имеет расширение MQ4, в то время как скомпилированная исполняемая версия имеет расширение EX4. Скрипты сохраняются в папке Scripts.

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

С помощью скриптов вы сможете:

  • Открывать ордера.
  • Рассчитывать размер позиции, а также размер стоп-лосса или тейк-профита.
  • Создавать отчет и сохранять его в файл.
  • Отправлять отчет по электронной почте.
  • Немедленно закрывать все открытые ордера.
  • Рассчитывать некоторые параметры сделки.

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

Индикаторы

Индикаторы представляют собой графическое представление движения цены.

Исходные файлы индикаторов имеют расширение MQ4, в то время как скомпилированные исполняемые версии для MetaTrader 4 имеют расширение EX4. Файлы индикаторов сохраняются в папке Indicators.

В MetaTrader 4 уже есть несколько встроенных индикаторов, но иногда их бывает недостаточно. В интернете вы сможете найти множество других индикаторов, которые могут лучше соответствовать вашему стилю торговли. Также с помощью MQL4 вы можете создать свой собственный индикатор.

Когда вы прикрепляете индикатор к графику, он показывает вам информацию, на отображение которой он был запрограммирован.

Некоторые примеры стандартных индикаторов:

Пользовательские индикаторы могут быть улучшенными версиями существующих или совершенно новыми индикаторами.

индикаторы mql4 на графике

Советники (эксперты)

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

Советник позволяет MetaTrader постоянно отслеживать значения цены и показания индикаторов, выполняя при этом определенные запрограммированные действия.

Исходные файлы экспертов имеют расширение MQ4, в то время как исполняемые скомпилированные версии имеют расширение EX4. Папка, в которой хранятся эти файлы называется Experts.

Чаще всего советники относятся к инструментам, которые используются для автоматизации торговой деятельности. Их также называют роботами. В интернете вы можете найти множество советников как бесплатных, так и платных. Однако всегда будьте осторожны, так как вокруг много мошенников. В качестве альтернативы вы можете создать своего собственного робота.

Вот некоторые примеры действий, которые могут выполнять советники:

  • Мониторинг значения цены или показаний индикаторов.
  • Открытие или закрытие ордеров при определенных значениях цены или показаний индикаторов.
  • Отправка уведомлений на экран торгового терминала или по электронной почте при совпадении некоторых торговых условий.
  • Автоматический перенос стоп-лосса (трейлинг-стоп) или тейк-профита.
  • Отправка отчетов о совершенных сделках.
  • Выполнение определенных действий в запланированное время.

Как вы можете видеть, эксперты могут быть очень полезны, и в следующих статьях мы рассмотрим другие примеры их использования.