Что такое тип данных?
В любом языке программирования имеются свои названия для описания хранящихся в памяти разного рода данных.
Допустим, если в памяти хранится число от -2147483648 до 2147483647, то в большинстве языков программирования оно называется "integer".
Что такое переменные?
Переменные — это имена, привязанные к кускам памяти, в которых хранятся соответствующие данные.
Образно можно представить память в виде набора коробок различного размера. Размеры коробок – это эквиваленты количества бит, которое требуется для хранения.
Чтобы было легче понимать, что происходит, представьте себе, что память — это набор коробок различных размеров. Размер коробки — это эквивалент количества бит, требуемого для хранения данного типа.
- Для того чтобы хранить в коробке данные, нужно присвоить ей имя. Этот процесс в программировании называется объявление.
- Чтобы объяснить компьютеру, коробка какого размера нам нужна, в процессе объявления мы используем слово, которое называется ключевым.
- Лучше назвать коробку таким именем, чтобы в дальнейшем можно было без труда понять, что же в ней лежит.
- Мы кладем данные в коробку путём присвоения данных коробке.
- Если объявление и присвоение данных происходит в одной строчке, такой процесс называют инициализацией.
При создании переменной мы говорим компьютеру, что хотим присвоить часть памяти определённого размера (в битах) нашей переменной. Хранение букв, больших и маленьких чисел занимает разный объем памяти. Поэтому компьютер спросит нас о том, что мы хотим хранить в памяти, и каков размер этих данных. Для этой цели и нужны типы данных.
К примеру, если дать компьютеру следующую строку кода:
int MyVaraible = 0;
то мы говорим ему, что хотим, чтобы он выделил блок памяти длиной 4 байта под нашу переменную "MyVariable".
В рассмотренном примере:
int — это ключевое слово
int — тип данных integer
int — объявление
MyVariable — имя переменной
= 0 — инициализация
В следующих уроках мы продолжим наш разговор о переменных.
Типы данных в MQL4
В MQL4 имеются 7 типов данных:
- Integer (int)
- Boolean (bool)
- Character (Char)
- String (String)
- Floating-point number (double)
- Color (color)
- Datetime (datetime)
1 — Integer
Integer — это число, которое может начинаться с + или — и состоит из цифр. Оно может лежать в пределах между числами 2147483648 и 2147483647.
MQL4 может представлять integer в десятичной или шестнадцатиричной системе.
Примеры чисел типа integer:
12, 3, 2134, 0, -230 0x0A, 0x12, 0X12, 0x2f, 0xA3, 0Xa3, 0X7C7
Чтобы создать переменную типа integet используют Ключевое слово int.
Для примера:
int intInteger = 0; int intAnotherIntger = -100; int intHexIntger=0x12;
2 — Boolean
Переменная типа Boolean может принимать только 2 значения: true или false (либо их численные представления 1 или 0). Она занимает 1 бит (!) памяти.
В MQL4 равнозначны различные написания: true, TRUE, True, а также false, FALSE, False.
Тип переменной Boolean назван в честь математика Джорджа Буля (George Boole).
Для создания переменной типа Boolean используют ключевое слово bool.
Пример:
bool I = true; bool bFlag = 1; bool bBool=FALSE;
3 — Character
Переменная типа Character – представляет собой один символ. Точнее — один из 256 алфавитных, циферных или специальных символов, которые заданы таблицей ASCII (American Standard Code for Information Interchange).
В соответствии с расположением в таблице символам присвоены числовые значения.
Для того чтобы записать символ, нужно поместить его в одинарные кавычки:
'a' , '$' , 'Z'
Для создания переменной типа Character используется ключевое слово int.
Пример:
int chrA = 'A'; int chrB = '$';
Некоторые символы (так называемые спец.символы) не могут напрямую находиться внутри одинарных кавычек, потому что у них зарезервированные значения в языке MQL4.
В таких случаях мы используем escape-последовательности. Это означает, что мы ставим слэш-назад (\) перед символом.
Пример:
int chrA = '\\'; // просто слэш int chrB = '\n'; // символ новой строки
Ниже приведен список escape-последовательностей MQL4:
carriage return \r new line \n horizontal tab \t reverse slash \\ single quote \' double quote \" hexadecimal ASCII-code \xhh
4 — String
Переменная типа String — это набор символов, заключённых в двойные кавычки.
В памяти эти символы хранятся в массиве — один за другим, а в конце стоит терминирующий нуль NULL. Как и в любом массиве, нумерация начинается с нуля.
Символ NULL — это спец. символ (в таблице ASCII ему соответствует число 0), используемый для обозначения конца строки.
На рис. 1 схематически изображено, как хранится в памяти строка "hello".
Символы в массиве
В MQL4 размер строки ограничивается 255 символами.
В строке можно использовать любые спец. символы, если перед ними поставить \ .
Для создания переменных типа String используют ключевое слово string.
Пример:
string str1 = "Hello world1, with you coders guru”; string str2 = "Copyright © 2005, \"Forex-tsd forum\"."; // Notice the use of (") character. string str3 = "1234567890";
5 — Floating—point number
Floating-point number — число с плавающей запятой — это действительное число, к примеру: 3.0, -115.5, 15 и 0.0001.
Число такого типа может принимать значения от 2.2e-308 до 1.8e308.
Для создания переменных типа Floating-point number используют ключевое слово double.
Пример:
double dblNumber1 = 1000000000000000; double dblNumber3 = 1/4; double dblNumber3 = 5.75;
6 — Color
Тип данных Color — это специальный тип данных MQL4, с помощью которого можно задавать цвета различных объектов на нашем графике в терминале MetaTrader.
Переменную типа Color можно задать тремя способами:
1 – С использованием названия цвета. Для часто используемых цветов (из набора Web-цветов) можно просто присваивать переменной имя требуемого цвета.
2 – С использованием символьного соответствия. Нужно написать ключевой символ ( C ) и после него указать координаты требуемого цвета, заключённые в одинарные кавычки ('), в трёхмерном пространстве RGB (красный, зелёный, синий). Эти координаты должны находиться в пределах от 0 до 255. Их можно задавать в десятичной или шестнадцатиричной системе.
3 – С использованием числового значения. Каждому цвету из набора Web-цветов соответствует свой код, который можно записывать как в десятичной, так и в шестнадцатиричной системе. В шестнадцатиричной системе код записывается проще всего: 0xBBGGRR (BB — синий, GG — зелёный, RR — красный).
Пример:
// символьное соответствие C'128,128,128' // gray C'0x00,0x00,0xFF' // blue
Для создания переменной типа Color используют ключевое слово color.
Пример:
color clr1= Red; color clr1= C'128,128,128'; color clr1=32768;
7 — Datetime
Тип данных Datetime — это специальный тип данных MQL4, используемый для хранения даты и времени. Для того чтобы задать значение переменной типа Datetime, необходимо написать ключевой символ (D), а после него должна идти требуемая дата в формате год, месяц, день, час, минута, секунда, которая заключается в одинарные кавычки ('). Переменные этого типа данных могут располагаться внутри временного диапазона от Jan 1, 1970 по Dec 31, 2037.
Пример:
D'2008.01.01 00:00' // Новый год D'1980.07.19 12:30:27' D'19.07.1980 12:30:27' D'19.07.1980 12' // равносильно: D'1980.07.19 12:00:00' D'01.01.2004' // равносильно: D'01.01.2004 00:00:00'
Для создания переменной типа Datetime используют ключевое слово datetime.
Пример:
datetime dtMyBirthDay= D'1972.10.19 12:00:00'; datetime dt1= D'2005.10.22 04:30:00';
На сегодня это все. О синтаксисе языка MQL4 мы говорили на прошлом уроке.
до встречи на следующем уроке!