Синтаксис
Синтаксически язык программирования торговых стратегий MQL5 очень похож на язык программирования С++, за исключением некоторых возможностей:
- отсутствует адресная арифметика;
- отсутствует оператор goto;
- нельзя объявить анонимное перечисление;
- нет множественного наследования.
Комментарии
Многострочные комментарии начинаются парой символов /* и заканчиваются парой */. Данные комментарии не могут быть вложенными. Однострочные комментарии начинаются парой символов //, заканчиваются символом новой строки и могут быть вложены в многострочные комментарии. Комментарии разрешены везде, где возможны пробелы, и допускают любое число пробелов.
Примеры:
//--- Однострочный комментарий /* Многостроч- ный // Вложенный однострочный комментарий */
Идентификаторы
Идентификаторы используются в качестве имен для переменных и функций. Длина идентификатора не может превышать 63 знака.
Допустимые символы при написании идентификатора: цифры 0-9, латинские прописные и строчные буквы а-z и А-Z, распознаваемые как разные символы, символ подчеркивания (_). Первый символ не может быть цифрой.
Идентификатор не должен совпадать с зарезервированным словом.
Примеры:
NAME1 namel Total_5 Paper
Зарезервированные слова
Перечисленные ниже идентификаторы фиксируются как зарезервированные слова, каждому из которых соответствует определенное действие, и в другом смысле не могут использоваться:
Типы данных
bool |
enum |
struct |
char |
float |
uchar |
class |
int |
uint |
color |
long |
ulong |
datetime |
short |
ushort |
double |
string |
void |
Спецификаторы доступа
const |
private |
protected |
public |
virtual |
|
Классы памяти
extern |
input |
static |
Операторы
break |
dynamic_cast |
return |
case |
else |
sizeof |
continue |
for |
switch |
default |
if |
while |
delete |
new |
|
do |
operator |
|
Прочие
false |
#define |
#property |
this |
#import |
template |
true |
#include |
typename |