Всем привет.
Сегодня мы разговариваем про синтаксис языка MQL4.
И, как я уже говорил, если Вы программируете на C или C++, то Вы уже очень многое знаете про MQL4.
Это потому, что синтаксис MQL4 очень похож на синтаксис C.
Синтаксис — сторона языка программирования, которая описывает структуру программ как наборов символов (обычно говорят — безотносительно к содержанию). "Wikipedia"
Т.е. когда мы изучаем синтаксис языка, мы изучаем его грамматику и правила написания, которые состоят из:
- Форматирование
- Комментарии
- Идентификаторы
- Зарезервированные слова
Разберёмся с каждым из этих пунктов отдельно.
1 - Форматирование текста
Когда Вы пишите код, Вы можете свободно использовать любое количество пробельных символов: пробелов, табуляций, пустых строк - чтобы делать свой код читаемым и приятным для просмотра.
Например, следующие коды равнозначны в MQL4:
Код:
double MacdCurrent, MacdPrevious, SignalCurrent;
Код:
double
MacdCurrent,
MacdPrevious,
SignalCurrent;
Код:
double MacdCurrent, MacdPrevious, SignalCurrent;
Однако, к любому правилу есть исключения:
1. Запрещено исрользовать символ переноса строки после знака решётки:
Например, следующая строка неверна:
Код:
#property
copyright "Copyright © 2004, MetaQuotes Software Corp."
Код:
#property copyright "Copyright © 2004, MetaQuotes Software Corp."
Например, следующая строка верна:
Код:
extern int MA_Period=13;
Но об этом подробнее в следующем уроке.
Следующие строки неверны:
Код:
extern int MA_Period=1
3;
Код:
extern int MA_Period=1 3;
Код:
ex
tern int MA_Period=13;
Чтобы упростить мир программирования (превратить его из невклидового четырёхмерного пространства в евклидово трёхмерное параметрическое) [шутка ;) - всё проще], в каждом языке программирования есть свой стиль написания комментариев к коду.
Вы пишите комментарии, которые компилятор игнорирует. Зато код становится понятней.
Предположим, Вы написали код летом, а хотите прочитать его зимой. Хоть Вы и создатель кода без комментариев понять все эти странные символы будет достаточно непросто.
MQL4 (как и C/C++) и спользует два типа комментариев:
Однострочные комментарии
Однострочный комментарий начинается с символов // и заканчивается переходом на новую строку.
Например:
Код:
//Это комментарий
extern int MA_Period=13;
Код:
extern int MA_Period=13; //Это ещё один комментарий
Многострочные комментарии начинаются символами /* и заканчиваются символами */
Например:
Код:
/*Это
многострочный
комментарий*/
Код:
/*Это
многострочный //А это ещё один комментарий
комментарий*/
Код:
extern int /*HELLO! I’m a comment*/ MA_Period=13;
Код:
extern int //test MA_Period=13;
3. Идентификаторы
Идентификатор - это имя, которое Вы присвоили своей переменной, константе или функции.
Например:
Код:
extern int MA_Period=13;
Есть несколько правил и ограничений в выборе идентификаторов:
- Длина идентификатора не должнеа превышать 31 символа.
- Идентификатор должен начинаться с буквы (большой или маленькой) или с символа _.
- В качестве идентификаторов нельзя использовать зарезервированные слова, с которыми мы скоро познакомимся.
- Идентификаторы чувствительны к регистру. Т.е. MA_Period и ma_Period - это разные идентификаторы.
Рассмотрим несколько примеров:
Код:
Name1 верно
_Name1 верно
1Name неверно
~Name1 неверно
N~ame1 неверно
i_love_my_country_and_my_country_loves_all_the_world
неверно
Color верно
color неверно (зарезервированное слово)
Есть "слова", которые язык использует для определённых целей.
Их запрещается использовать в качестве идентификаторов или в любых других целях.
Список зарезервированных слов:

Например следующие строчки кода неверны:
Код:
extern int datetime =13;
int extern =20;
double continue = 0;