Для разработки торговых систем в платформу встроен собственный язык программирования MetaQuotes Language 5 (MQL5), среда разработки MetaEditor и инструменты тестирования стратегий.
Любую информацию о разработке торговых стратегий на языке MQL5 можно найти на официальном сайте MQL5.community. На этом же сайте в разделе Code Base могут быть найдены примеры готовых приложений. |
В торговую платформу встроен язык программирования торговых стратегий MetaQuotes Language 5. Это — пятое поколение языков MQL. Он позволяет писать советники, автоматизирующие управление торговыми процессами, и реализовывать собственные торговые стратегии. Кроме того, на MQL5 можно создавать пользовательские индикаторы, скрипты и библиотеки функций.
Особенности языка MQL5:
Подробное описание всех конструкций языка и функций приведено в справочнике MQL5. Также всю интересующую информацию о MQL5 можно найти на сайте сообщества разработчиков https://www.mql5.com.
MetaEditor — это интегрированная среда разработки на языке MQL5, он является составной частью торговой платформы. MetaEditor позволяет создавать, редактировать, компилировать и отлаживать исходные тексты программ, написанных на языке MQL5.
Детальное описание MetaEditor дано во встроенной справке по этой программе. Описание языка MQL5 может быть найдено во встроенном справочнике, а также на официальном сайте MQL5.community.
В помощь новичкам мы выпустили два учебника по программированию на языке MQL5, предназначенных для всех, кто хочет освоить создание торговых роботов и приложений для алгоритмической торговли. В этих книгах представлено систематическое и структурированное изложение материала, что существенно облегчает процесс изучения MQL5. Подробные примеры кода, шаг за шагом разъясняющие создание торговых роботов и приложений, позволяют глубже понять и освоить тонкости алготрейдинга.
"Программирование на MQL5 для трейдеров" — самый полный и детальный учебник по MQL5, подходит программистам любого уровня. Новички познакомятся с основами: изучат инструменты разработки и базовые понятия в программировании. Создадут первую программу, скомпилируют и запустят ее в торговой платформе MetaTrader 5. Пользователи с опытом программирования на других языках могут сразу же перейти к прикладной части: возможностям MQL5 для создания торговых роботов и аналитических приложений.
"Нейросети в алготрейдинге на MQL5" — учебное пособие по использованию методов машинного обучения при создании торговых роботов в платформе MetaTrader 5. Вы последовательно познакомитесь с основами нейросетей и возможностями их применения в алготрейдинге. По мере продвижения вы создадите и обучите собственный искусственный интеллект, постепенно дополняя его новыми функциями. Помимо изучения MQL5, вы научитесь писать программы на Python и OpenCL, а также узнаете о встроенных методах матриц и векторов, которые позволяют решать сложные математические задачи с помощью лаконичного и быстрого кода.
На сайте MQL5.community доступна обширная библиотека статей по программированию на MQL4/MQL5. Статьи являются отличным справочным материалом по созданию программ, в них рассматривается множество практических задач по алготрейдингу. Новые статьи выходят каждую неделю.
Список всех доступных статей отображается прямо в MetaEditor. Чтобы найти интересующий материал, воспользуйтесь онлайн-поиском.
Существует три основных типа торговых приложений.
Советники — механические торговые системы, позволяющие полностью автоматизировать аналитико-торговую деятельность для эффективной работы на финансовых рынках. Они позволяют оперативно проводить технический анализ ценовых данных и на основе полученных сигналов управлять торговой деятельностью. Они также помогают четко придерживаться торговой стратегии, исключив роль эмоционального фактора.
Все советники хранятся в папке /MQL5/Experts торговой платформы.
Пользовательские индикаторы — самостоятельно написанные технические индикаторы, предназначенные для анализа динамики цен. На основе алгоритмов индикаторов строятся торговые тактики и разрабатываются советники. Пользовательские индикаторы предназначены только для анализа динамики цен финансовых инструментов. Индикаторы не могут торговать и не имеют доступа к графикам.
Все индикаторы хранятся в папке /MQL5/Indicators торговой платформы.
Скрипты — скриптом называется программа, написанная на языке MQL5 и предназначенная для одноразового выполнения любых действий. Скрипт может выполнять как аналитические, так и торговые функции. В отличие от советников, скрипты исполняются по запросу. Иными словами, если советник работает практически постоянно, то скрипт, отработав один раз, самостоятельно завершает работу.
Все скрипты хранятся в папке /MQL5/Scripts торговой платформы.
Сервисы позволяют использовать собственные источники ценовых данных для платформы — передавать цены от внешних систем в режиме реального времени так, как это делают торговые серверы брокеров. Также сервисы можно использовать для выполнения других обслуживающих задач в фоновом режиме.
В отличие от советников, индикаторов и скриптов, сервисы не привязаны к конкретному графику. Они работают в фоновом режиме и начинают работу автоматически при запуске терминала (если они не были принудительно остановлены).
Все сервисы хранятся в папке /MQL5/Services торговой платформы.
Внутри папок Experts, Indicators, Scripts и Services программы могут быть рассортированы по подпапкам, при этом в окне "Навигатор" будет отображаться структура их размещения. |
Нажмите " Создать в редакторе" в контекстном меню окна "Навигатор" в разделе "Советники", "Индикаторы" или "Скрипты". Также для запуска MetaEditor можно нажать F4.
После этого будет запущен MetaEditor, и в нем автоматически откроется "Мастер MQL5". Он позволит сгенерировать шаблон нужной программы, что быстро приступить к разработке. Для примера создадим простой скрипт, который будет выводить в журнал надпись "Hello world".
В полученном шаблоне напишем код Print("Hello World"); и произведем компиляцию клавишей F7, чтобы получить исполняемый файл. Исполняемый файл имеет расширение EX5, именно такой файл может быть запущен в торговой платформе.
Результаты компиляции выводятся в журнал редактора.
В соответствии с типом программы, исходный код был сохранен в папку MQL5\Scripts\. В этой же папке был создан и исполняемый файл. Теперь можно вернуться в торговую платформу и запустить созданный скрипт.
Особенности работы с программами для автоматического трейдинга описаны в разделе "Торговые советники и собственные индикаторы". |
Чтобы приступить к редактированию торгового робота или пользовательского индикатора, нажмите " Изменить" в его контекстном меню в окне "Навигатор" или выделите его и нажмите "Enter". При этом будет открыт MetaEditor, в который уже будет загружен исходный код выбранного индикатора. После изменения индикатора скомпилируйте его повторно (F7), иначе в платформе будет использоваться предыдущая, неизмененная версия.
Существует множество способов завершить работу торгового приложения в платформе.
Торговый робот |
Пользовательский технический индикатор |
Скрипт |
---|---|---|
|
|
|
|
Если у вас имеется только файл исходного кода (*.MQ5), поместить его в папку, соответствующую типу приложения:
Чтобы быстро перейти к папке хранения информации торговой платформы, нажмите " Открыть каталог данных" в меню "Файл".
Чтобы запустить файл в торговой платформе, скомпилируйте его в MetaEditor:
В результате вы получите исполняемый файл *.EX5, который уже можно запустить в торговой платформе.
Исходные файлы (*.MQ5) не отображаются в окне "Навигатор" торговой платформы. |