КАК ЗАРАБОТАТЬ НА ФОРЕКСЕ
Пятница, 03.05.2024, 07:35
Приветствую Вас Гость | RSS
 
Главная Учимся программировать на языке MQL4-урок2-синтаксисРегистрацияВход
<a href="http://instaforex.com/ru/">Форекс портал</a>
Меню сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Урок 2 - СИНТАКСИС

Всем привет.

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

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

Код:
extern int MA_Period=1

3;
Код:
extern int MA_Period=1 3;
Код:
ex

tern 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. Зарезервированные слова

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

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

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



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

Код:
extern int datetime =13;

int extern =20;

double continue = 0;
Поиск
<a href="http://instaforex.com/ru/">Форекс портал</a>
Copyright MyCorp © 2024
Бесплатный конструктор сайтов - uCoz