Рекомендуемый ДЦ - Alpari !

Для того чтобы написать программу на языке MQL — необходимо знать как в ней хранятся данные, ведь программа должна их где-то хранить.

Константа в MQL - это составная часть программы; объект, имеющий значение. Понятие «константа» в программе аналогично тому же понятию, используемому в математических уравнениях. Это — неизменная величина.

Встретив в программе 2+2 мы понимаем что происходит сложение двух чисел. Так как их в процессе работы программы изменить нельзя, то они являются константами. Встретив другой пример 2+x уже нельзя сказать однозначно: с чем складывается число (с константой или переменной)? Дело в том, что константам можно присвоить имя и использовать ее не по значению, а по имени. Для присвоения имени константе используется #define.

Например:

#define x 2
2+x

Переменная в MQL — это составная часть программы, имеющая значение и название. Понятие переменной в языке MQL4 аналогично понятию переменной, принятому в математике.

Переменные очень похожи на константы, но их значение можно изменять. Например сложим 2+2 и сохраним значение в переменной:

x=2+2

Так как переменная может изменять свои значения в процессе работы программы, то необходимо указывать ее тип. Иначе компилятор MT4 не будет знать что в ней хранить (число, строку и т.д.). Поэтому при описании переменной указывают ее тип.

В языке MQL4 различают следующие типы данных:

int — целые числа (например: 1).
double — действительные числа (например: 0.1).
bool — значения логического типа (например: true).
string — значения строкового типа (например: «Super Expert»).
color — значения цветового типа (например: White).
datetime — значение даты и времени (например: 01.01.2010 12:00).

Наш пример для сложения чисел приобретет свой окончательный вид:

int x=2+2;

Мы сложили два числа (константы) и поместили результат в переменную x целого типа.

Какие еще операции существуют в языке MQL4?

В языке MQL4 различают следующие виды операций:

• арифметические операции;
• операции присваивания;
• операции отношения;
• логические операции;

Арифметические операции в MQL4:

 К символам арифметических операций относятся следующие:

Символ Операция Пример Аналог
+ Сумма величин x + 2  
- Вычитание величин или изменение знака x — 3, y = — y  
* Умножение величин 3 * x  
/ Частное от деления x / 5  
% Остаток от деления minutes = time % 60  
++ Добавление 1 к значению переменной y++ y = y + 1
-- Вычитание 1 из значения переменной y-- y = y — 1

Операции присваивания в MQL4:

 К символам операций присваивания относятся следующие:

Символ Операция Пример Аналог
= Присваивание значения x переменной y у = x  
+= Увеличение значения переменной у на x у += x y = y + x
-= Уменьшение значения переменной y на x y -= x y = y — x
*= Умножение значения переменной y на x y *= x y = y * x
/= Деление значения переменной y на x y /= x y = y / x
%= Остаток от деления значения переменной y на x y %= x y = y % x

Операции отношения в MQL4:

 К символам операций отношения относятся следующие:

Символ Операция Пример
== Истина, если x равно y x == y
!= Истина, если x не равно y x != y
< Истина, если x меньше y x < y
> Истина, если x больше y x > y
<= Истина, если x меньше или равно y x <= y
>= Истина, если x больше или равно y x >= y

Логические операции в MQL4:

 К символам логических операций относятся следующие:

Символ Операция Пример Пояснения
! НЕ (логическое отрицание) ! х ИСТИНА(1), если значение операнда ЛОЖЬ(0).
|| ИЛИ (логическое ИЛИ) x < 5 || x > 7 ИСТИНА(1), если истинно любое из значений
&& И (логическое И) x == 3 && y < 5 ИСТИНА(1), если истинны всезначения