Синтаксис
Синтаксически язык программирования торговых стратегий 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 |