MQL4 (MetaQuotes Language 4) - язык программирования позволяющий писать собственные программы-эксперты (Expert Advisors), автоматизирующие управление торговыми процессами и идеально подходящие для реализации собственных торговых стратегий. Кроме того, на MQL 4 можно создавать собственные технические индикаторы (Custom Indicators), скрипты (Scripts) и библиотеки функций (Libraries).

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

Для написания кода программы используется текстовый редактор экспертов MetaEditor 4, выделяющий цветом различные конструкции языка MQL 4, позволяя пользователю легче ориентироваться в тексте экспертной системы. В качестве справочной системы по языку MQL 4 используется MetaQuotes Language Dictionary. Краткий справочник содержит разбитые на категории функции, операции, зарезервированные слова, другие конструкции языка и позволяет узнать описание каждого используемого элемента, входящего в язык.
Программы написанные на MetaQuotes Language 4 имеют различные свойства и предназначение:
  |
Expert Advisors |
| |
это механическая торговая система (МТС) имеющая привязку к определенному графику. Советник может работать не только в режиме информирования о возможности совершить сделки, но может также автоматически совершать сделки на торговом счету, направляя их прямо на торговый сервер. Как и в большинстве информационных систем, терминал MetaTrader 4 поддерживает тестирование стратегий на исторических данных с отображением на графиках точки входа-выхода трейдов. |
  |
Custom Indicators |
| |
аналог технического индикатора. Иными словами Custom Indicators позволяют создавать технические индикаторы в дополнение к уже интегрированным в терминал MetaTrader 4. Как и встроенные индикаторы, они не могут автоматически торговать и предназначены только для реализации аналитических функций. |
  |
Scripts |
| |
программы, предназначенные для одноразового выполнения каких-либо действий. В отличие от экспертов скрипты запускаются не потиково, а по запросу. |
  |
Libraries |
| |
библиотеки пользовательских функций, предназначенные для хранения часто используемых блоков пользовательских программ. |