Главная Контакты

КОТИРОВКИ

Котировки от Forex4You

ОПРОС

Как Вы торгуете на форекс?

Самостоятельно анализирую рынок и торгую
Пользуюсь индикаторами/советниками
Пользуюсь/копирую советы других трейдеров
Использую роботы-советники

Официальный представитель Forex4you - форекс для Вас

Программирование MQL4: УРОК 2 – Синтаксис

26-04-2014, 18:04 | Раздел: publ, Курс программирования MQL4 | Просмотров: 857

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

2. Запрещено использовать пробельные символы внутри констант, идентификаторов и ключевых слов.

Например, следующая строка верна:

extern int MA_Period=13;

Здесь “extern” и “int” – ключевые слова, “MA_Period” – идентификатор, а “13″ – константа.
Но об этом подробнее в следующем уроке.

Следующие строки неверны:

3;
extern int MA_Period=1                          3;
extern int MA_Period=13;

2 – Комментарии

Чтобы упростить мир программирования (превратить его из невклидового четырёхмерного пространства в евклидово трёхмерное параметрическое) [шутка ;) - всё проще], в каждом языке программирования есть свой стиль написания комментариев к коду.

Вы пишите комментарии, которые компилятор игнорирует. Зато код становится понятней.

Предположим, Вы написали код летом, а хотите прочитать его зимой. Хоть Вы и создатель кода без комментариев понять все эти странные символы будет достаточно непросто.

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;

Здесь MA_Period – идентификатор.

Есть несколько правил и ограничений в выборе идентификаторов:

1. Длина идентификатора не должна превышать 31 символа.
2. Идентификатор должен начинаться с буквы (большой или маленькой) или с символа _.
3. В качестве идентификаторов нельзя использовать зарезервированные слова, с которыми мы скоро познакомимся.
4. Идентификаторы чувствительны к регистру. Т.е. MA_Period и ma_Period – это разные идентификаторы.

Рассмотрим несколько примеров:

Name1    верно
_Name1   верно
1Name    неверно
~Name1   неверно
N~ame1 неверно
i_love_my_country_and_my_country_loves_all_the_world    неверно
Color    верно
color   неверно (зарезервированное слово)

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

Есть “слова”, которые язык использует для определённых целей.

Их запрещается использовать в качестве идентификаторов или в любых других целях.

Список зарезервированных слов:

post-798-0-49874600-1346244651

Например следующие строчки кода неверны:

extern int datetime =13;
int extern =20;
double continue = 0;

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.


Форекс каталогФорекс каталог Форекс рейтинг