MQL4 УРОК 3 – Типы данных в MQL4
Что такое тип данных?
Любой язык программирования имеет свои названия для описания различных данных хранящихся в памяти.
Например, если в памяти хранится число от -2147483648 до 2147483647, в большинстве языков программирования оно будет называться "integer”.
Переменные.
Переменные – это всего лишь имена, которые привязаны к кускам памяти, где хранятся соответствующие данные.
Чтобы было легче понимать, что происходит, представьте себе, что память – это набор коробок различных размеров. Размер коробки – это эквивалент количества бит, требуемого для хранения данного типа.
- Чтобы использовать коробку для хранения данных, необходимо присвоить ей имя. Этот процесс называется объявлением.
- В процессе объявления Вы используете слово, чтобы объяснить компьютеру какого размера коробка Вам нужна. Это слово называется ключевым.
- Лучше дать имя коробке такое, чтобы потом было легко понять, что в ней лежит.
- Данные кладутся в коробку путём присвоения данных коробке.
- Если объявление и присвоение данных происходит в одной строчке, то такой процесс называется инициализацией.
Когда мы создаём переменную, мы говорим компьютеру, что мы хотим, чтобы он присвоил часть памяти определённого размера (в битах) нашей переменной. Поскольку хранение числа, буквы или большого числа занимает разный объём памяти, компьютер спросит, что Вы хотите хранить в этой памяти, и каков размер данных. Для этого и нужны типы данных.
Например, если мы дадим компьютеру следующую строчку кода:
то мы говорим компьютеру, что хотим, чтобы он выделил блок памяти длиной 4 байта под нащу переменную "MyVariable”.
В этом примере:
О переменных мы узнаем больше в следующих уроках.
В MQL4 присутствуют следующие типы данных:
- Integer (int)
- Boolean (bool)
- Character (Char)
- String (String)
- Floating-point number (double)
- Color (color)
- Datetime (datetime)
1 – Integer
Integer – это число, которое может начинаться с + или – и состоит из цифр. Это число может лежать в пределах между -2147483648 и 2147483647.
MQL4 может представлять integer в десятичной или шестнадцатиричной системе.
Например, следующие числа – типа integer:
Ключевое слово int используется для создания переменной типа integet.
Например:
2 – Boolean
Переменная типа Boolean может принимать лищь 2 значения: true или
false (или их численные представления 1 и 0). И она занимает 1 бит (!)
памяти.
В MQL4 true, TRUE, True равнозначны и false, FALSE, False – тоже.
Тип Boolean назван так в честь математика George Boole.
Ключевое слово bool используется для создания переменной типа Boolean.
Например:
3 – Character
Переменная типа Character – это один символ. Точнее,- это один из 256
алфавитных, циферных или специальных символов, заданных таблицой ASCII
(American Standard Code for Information Interchange).
Символам присвоены числовые значения в соответствии с расположением в таблице.
Чтобы записать символ, нужно поместить его в одинарные кавычки:
Ключевое слово int используется для создания переменной типа Character.
Например:
Некоторые символы, называемые Спец. Символами, не могут напрямую находиться внутри одинарных кавыч, потому что у них зарезервированные значения в языке MQL4.
В таких случаях мы используем escape-последовательности. Это означает, что мы ставим слэш-назад (\) перед символом.
Например:
Список escape-последовательностей MQL4:
4 – String
Переменная типа String – это набор символов, заключённых в двойные кавычки.
В памяти эти символы храняться в мыссиве – один за другим, в конце стоит
терминирующий нуль NULL. Как и в любом массиве, нумерация начинается с
нуля.
Символ NULL – это спец. символ (в таблице ASCII ему соответсвует число 0), используемый для обозначения конца строки.
На рис. 1 схематически изображено, как хранится в памяти строка "hello”.
рис. 1 – Символы в массиве
MQL4 ограничивает размер строки 255 символами.
В строке можно использовать любые спец. символы, если перед ними Вы поставите \ .
Ключевое слово string используется для созания переменных типа String.
Например:
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.
Ключевое слово double используется для создания переменных типа Floating-point number.
Например:
6 – Color
Тип данных Color – это специальный тип данных MQL4, которым задаются цвета различных объектов на Вашем графике в терминале MetaTrader.
Переменную типа Color можно задать тремя способами:
1 – Используя название цвета: Для часто используемых цветов (из набора Web-цветов) можно прямо присваивать переменной имя требуемого цвета.
2 – Используя символьное соответствие: Надо написать ключевой символ ( C ), и после него заключённые в одинарные кавычки (‘) должны идти координаты требуемого цвета в трёхмерном пространстве RGB (красный, зелёный, синий). Эти координаты должны быть в пределах от 0 до 255. Их можно задавать в десятичной или шестнадцатиричной системе.
3 – Используя числовое значение: Каждому цвету из набоора Web-цветов поставлен в соответствии свой код, который можно записывать как десятичной, так и в шестнадцатиричной системе. В шестнадцатиричной системе код записывается проще всего: 0xBBGGRR (BB – синий, GG – зелёный, RR – красный).
Например:
Ключевое слово color используется для создания переменной типа Color.
Например:
7 – Datetime
Тип данных Datetime – это специальный тип данных MQL4, который используется для хранения даты и времени. Чтобы задать значение переменной типа Datetime, надо написать ключевой символ (D), и после него заключённые в одинарные кавычки (‘) должна идти требуемая дата в формате год, месяц, день, час, минута, секунда. Переменные этого типа данных могут располагаться внутри временного диапазона от Jan 1, 1970 по Dec 31, 2037.
Например:
Ключевое слово datetime используется для создания переменной типа Datetime.
Например: