MetaQuotes Language 4 (MQL4) — новый встроенный язык программирования торговых стратегий. Этот язык позволяет писать собственные программы-эксперты (Expert Advisors), автоматизирующие управление торговыми процессами и идеально подходящие для реализации собственных торговых стратегий. Кроме того, на MQL4 можно создавать собственные технические индикаторы (Custom Indicators), скрипты (Scripts) и библиотеки функций (Libraries).
В состав MQL4 включено большое количество функций, необходимых для анализа текущих и пришедших ранее котировок, встроены основные индикаторы и функции по управлению торговыми позициями и контролю над ними.
Для написания кода программы используется текстовый редактор экспертов MetaEditor 4, выделяющий цветом различные конструкции языка MQL4, что позволяет пользователю лучше ориентироваться в тексте экспертной системы. В качестве справочной системы по языку MQL4 используется словарь — MetaQuotes Language Dictionary. Краткий справочник содержит разбитые на категории функции, операции, зарезервированные слова, другие конструкции языка и позволяет узнать описание каждого используемого элемента, входящего в язык.
Программы, написанные на MetaQuotes Language 4, имеют различные свойства и предназначение:
- Советник (Expert Advisor) — это механическая торговая система (МТС), имеющая привязку к определенному графику. Советник запускается на выполнение с каждым поступающим тиком по данному инструменту. Советник не будет запущен для вновь поступившего тика, если в этот момент советник обрабатывает предыдущий тик (то есть, советник еще не закончил свою работу). Советник может не только работать в режиме информирования о возможности совершить сделки, но и автоматически совершать сделки на торговом счете, направляя их прямо на торговый сервер. Как и в большинстве информационных систем, в терминале поддерживается тестирование стратегий на исторических данных с отображением на графиках точек входа в торговые позиции и выхода из них. Советники хранятся в директории каталог_терминала\experts
- Пользовательский индикатор (Custom Indicator) — технический индикатор, самостоятельно написанный пользователем в дополнение к индикаторам, уже интегрированным в клиентский терминал. Пользовательские индикаторы, также как и встроенные, не могут автоматически торговать и предназначены только для реализации аналитических функций. Пользовательские индикаторы хранятся в директории каталог_терминала\experts\indicators
- Скрипт (Script) — программа, предназначенная для одноразового выполнения каких-либо действий. В отличие от экспертов, скрипты запускаются не потиково, а по запросу. Скрипты хранятся в директории каталог_терминала\experts\scripts
- Библиотека (Library) — библиотека пользовательских функций, предназначенная для хранения и распространения часто используемых блоков пользовательских программ. Библиотеки не могут самостоятельно запускаться на выполнение.
Библиотеки рекомендуется хранить в директории каталог_терминала\experts\libraries - Включаемый файл (Included file) — исходный текст часто используемых блоков пользовательских программ. Такие файлы могут включаться в исходные тексты экспертов, скриптов, пользовательских индикаторов и библиотек на этапе компиляции. Использование включаемых файлов более предпочтительно, чем использование библиотек, из-за дополнительных накладных расходов при вызове библиотечных функций. Включаемые файлы рекомендуется хранить в директории каталог_терминала\experts\include