Синтаксис

Язык MQL4 — (англ. MetaQuotes Language 4) строго типизированный язык программирования торговых стратегий, разработанный в MetaQuotes Software Corp.

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

 

Синтаксис

Синтаксис языка программирования торговых стратегий MQL4 очень похож язык программирования Си, за исключением некоторых возможностей:

  • отсутствует оператор do … while;
  • отсутствует оператор goto …;
  • отсутствует операция [условие]?[выражение 1]:[выражение 2];
  • невозможны сложные присваивания. Например, value1=value2=0; array_values[i++]=value1; my_condition=(icount=OrdersTotal())>0; и т.д. и т.п.;
  • вычисление логического выражения производится до конца и не прерывается досрочно

Комментарии

Комментарии в языке MQL записываются одним из следующих способов:

  • Символы /* (косая черта и звездочка), за которыми следует любая последовательность символов, включая переводы строки, после чего ставятся символы */. Это тот же синтаксис, который используется в ANSI C.
  • Символы // (две косые черты), за которыми следует любая последовательность символов. Символ перевода строки, непосредственно перед которым нет обратной косой черты, завершает комментарий, оформленный таким способом. Поэтому такие комментарии часто называют однострочными.

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

Примеры:

// Однострочный комментарий

/* Многострочный комментарий
   // Вложенный однострочный комментарий
*/

Идентификаторы

Идентификатор — это последовательность символов, используемая для обозначения одного из следующих элементов:

  • Имени объекта или переменной
  • Имени класса, структуры
  • Имени перечисленного типа
  • Члена класса, структуры, объединения или перечисления
  • Функции или функции члена класса
  • Имени метки

Длина идентификатора не может превышать 31 знак.

Допустимые символы: цифры 0-9, латинские прописные и строчные буквы а — z и А — Z, распознаваемые как разные символы, символ подчеркивания (_). Первый символ не может быть цифрой. Идентификатор не должен совпадать с зарезервированным словом.

Примеры:

NAME1 namel Total_5 Paper

Зарезервированные слова

Ключевые слова — это предварительно определенные зарезервированные идентификаторы, имеющие специальные значения. Их использование в программе в качестве идентификаторов не допускается. Для языка MQL зарезервированы следующие ключевые слова:

Типы данных Классы памяти Операторы Прочие
bool extern break false
color static case true
datetime continue
double default
int else
string for
void if
return
switch
while