Справочник MQL5
MetaQuotes Language 5 (MQL5) - язык программирования технических индикаторов, торговых роботов и вспомогательных приложений для автоматизации торговли на финансовых рынках. MQL5 является современным языком высокого уровня и разработан MetaQuotes Software Corp. для собственной торгово-информационной платформы. Синтаксис языка максимально близок к С++ и позволяет писать программы в стиле объектно-ориентированного программирования (ООП).
Для написания программ на MQL5 в составе торговой платформы предоставляется среда разработки MetaEditor со всеми современными инструментами для написания кода, включающими в себя шаблоны, сниппеты, отладку, профилировку, автозавершение и встроенное версионное хранилище MQL5 Storage.
Поддержка и развитие языка осуществляется на сайте MQL5.community, где находится обширная библиотека бесплатных кодов и множество статей. Эти статьи охватывают все темы современного трейдинга: нейронные сети, статистика и анализ, высокочастотная торговля, арбитраж, тестирование и оптимизация торговых стратегий, использование роботов для автоматизации торговли и многое другое.
Трейдеры и разработчики MQL5-программ могут общаться на форуме, проводить заказы во Фрилансе, покупать и продавать защищенные программы в Маркете – магазине готовых приложений для автотрейдинга.
Язык MQL5 содержит специализированные торговые функции и предопределенные обработчики событий для написания советников (Expert Advisors). Советники автоматически управляют торговыми процессами на основе заложенных в них торговых правил. Также на MQL5 можно создавать собственные технические индикаторы (Custom Indicators), скрипты (Scripts) и библиотеки функций (Libraries).
Справочник MQL5 содержит разбитые на категории функции, операции, зарезервированные слова, другие конструкции языка и позволяет узнать описание каждого используемого элемента, входящего в состав языка. Также в справочнике приведено описание классов из состава Стандартной библиотеки для создания торговых стратегий, панелей управления, пользовательской графики и работы с файлами.
Отдельно от справочника в CodeBase опубликована библиотека численного анализа ALGLIB, которая позволяет решать множество математических задач.
Виды приложений в MQL5
Для выполнения конкретных задач по автоматизации торговых операций MQL5-программы разделены на четыре специализированных типа:
- Советник — автоматическая торговая система, имеющая привязку к определенному графику. Советник содержит в себе функции-обработчики предопределенных событий, при наступлении которых выполняются соответствующие элементы торговой стратегии. Примеры таких событий – инициализация и деинициализация программы, приход нового тика, срабатывание таймера, изменение в стакане цен, события графика и пользовательские события.
Советник может не только вычислять торговые сигналы по заложенным правилам, но и автоматически совершать сделки на торговом счете, направляя их прямо на торговый сервер. Советники хранятся в директории <каталог_терминала>\MQL5\Experts. - Пользовательский индикатор — это технический индикатор, написанный пользователем в дополнение к индикаторам, уже интегрированным в торговую платформу. Пользовательские индикаторы, также как и встроенные, не могут автоматически торговать и предназначены только для реализации аналитических функций. Пользовательские индикаторы могут использовать в своих расчетах значения других индикаторв, а также сами могут вызываться в советниках.
Пользовательские индикаторы хранятся в директории <каталог_терминала>\MQL5\Indicators. - Скрипт — программа, предназначенная для одноразового выполнения каких-либо действий. В отличие от экспертов, скрипты не обрабатывают никаких событий, кроме событий запуска, инициализации и деинициализации. Для работы скрипта в его коде обязательно должна быть функция-обработчик OnStart. Скрипты хранятся в директории <каталог_терминала>\MQL5\Scripts.
- Библиотека — библиотека пользовательских функций, предназначенная для хранения и распространения часто используемых блоков пользовательских программ. Библиотеки не могут самостоятельно запускаться на выполнение.
Библиотеки хранятся в директории <каталог_терминала>\MQL5\Libraries - Включаемый файл — исходный текст часто используемых блоков пользовательских программ. Такие файлы могут включаться в исходные тексты экспертов, скриптов, пользовательских индикаторов и библиотек на этапе компиляции. Использование включаемых файлов более предпочтительно, чем использование библиотек, из-за дополнительных накладных расходов при вызове библиотечных функций.
Включаемые файлы могут находиться в той же директории, что и исходный файл, в этом случае используется директива #include с двойными кавычками. Другое место хранения включаемых файлов – в директории <каталог_терминала>\MQL5\Include, в этом случае используется директива #include с угловыми скобками.