Здравствуйте, уважаемые читатели журнала FOREX Review! В предыдущей статье из цикла "Школа MQL4" мы уже говорили о том, что тот, кто умеет программировать на C или C++, знает про MQL4 довольно много. Связано это с тем, что синтаксис MQL4 и синтаксис C очень похожи.
Согласно Википедии, синтаксис — это сторона языка программирования, описывающая структуру программ как наборов символов (обычно говорят — безотносительно к содержанию).
Таким образом, изучая синтаксис языка, мы знакомимся с его грамматикой — иными словами, правилами написания. Правила написания состоят из::
- Форматирования
- Комментариев
- Идентификаторов
- Зарезервированных слов
Рассмотрим подробнее каждый пункт.
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."
2. Запрещается использование пробельных символов внутри констант, ключевых слов и идентификаторов.
К примеру, следующая строка — верна:
extern int MA_Period = 13;
поскольку "extern" и "int" – это ключевые слова, "MA_Period" – идентификатор, "13" — константа.
Эту тему мы обсудим подробнее в следующем уроке.
Эти строки — неверные:
extern int MA_Period=1 3;
extern int MA_Period=1 3;
ex tern int MA_Period=13;
2. Комментарии
Для того чтобы сделать процесс программирования более простым, каждый язык программирования имеет свой стиль написания комментариев к коду.
Комментарии, которые вы написали, компилятор игнорирует, но вот код становится более понятным.
Например, программист, написавший летом код, зимой уже может испытать некоторые трудности при его прочтении, хотя и является создателем кода. Без использования комментариев иногда бывает действительно непросто понять эти странные символы. J
В языке MQL4 так же, как и в C/C++, используется 2 типа комментариев:
Однострочные комментарии
Такие комментарии начинаются символами // и заканчиваются переходом на новую строку.
К примеру:
// Это комментарий
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;
где MA_Period – это идентификатор.
Существуют правила и ограничения в выборе идентификаторов. Вот они:
- Длина идентификатора должна составлять не более 31 символа.
- Идентификатор должен начинаться с буквы (большой или маленькой) либо символа _.
- Идентификаторами не могут быть зарезервированные слова, о которых мы узнаем далее.
Идентификаторы чувствительны к регистру, то есть MA_Period и ma_Period — разные идентификаторы.
Рассмотрим примеры:
Name1 верно _Name1 верно 1Name неверно ~Name1 неверно N~ame1 неверно i_love_my_country_and_my_country_loves_all_the_world неверно Color верно color неверно (зарезервированное слово)
4. Зарезервированные слова
Это специальные "слова", которые используются в языке программирования для определённых целей.
Их запрещено применять в качестве идентификаторов, а также с любой другой целью.
Приведем список зарезервированных слов:
К примеру, эти строки кода — неверные:
extern int datetime = 13; int extern = 20; double continue = 0;
До встречи на следующем уроке!