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

КОТИРОВКИ

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

ОПРОС

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

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

Архив

Октябрь 2017 (39)
Сентябрь 2017 (82)
Август 2017 (68)
Июль 2017 (50)
Июнь 2017 (49)
Май 2017 (38)
Официальный представитель Forex4you - форекс для Вас

Программирование MQL4: УРОК 3 – Типы данных в MQL4

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

Что такое тип данных?

Любой язык программирования имеет свои названия для описания различных данных хранящихся в памяти.

Например, если в памяти хранится число от -2147483648 до 2147483647, в большинстве языков программирования оно будет называться “integer”.

Переменные?

Переменные – это всего лишь имена, которые привязаны к кускам памяти, где хранятся соответствующие данные.

Чтобы было легче понимать, что происходит, представьте себе, что память – это набор коробок различных размеров. Размер коробки – это эквивалент количества бит, требуемого для хранения данного типа.

  • Чтобы использовать коробку для хранения данных, необходимо присвоить ей имя. Этот процесс называется объявлением.
  • В процессе объявления Вы используете слово, чтобы объяснить компьютеру какого размера коробка Вам нужна. Это слово называется ключевым.
  • Лучше дать имя коробке такое, чтобы потом было легко понять, что в ней лежит.
  • Данные кладутся в коробку путём присвоения данных коробке.
  • Если объявление и присвоение данных происходит в одной строчке, то такой процесс называется инициализацией.

Когда мы создаём переменную, мы говорим компьютеру, что мы хотим, чтобы он присвоил часть памяти определённого размера (в битах) нашей переменной. Поскольку хранение числа, буквы или большого числа занимает разный объём памяти, компьютер спросит, что Вы хотите хранить в этой памяти, и каков размер данных. Для этого и нужны типы данных.

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

 int MyVaraible=0;

то мы говорим компьютеру, что хотим, чтобы он выделил блок памяти длиной 4 байта под нащу переменную “MyVariable”.

В этом примере:

int - это ключевоу слово
int - тип данных integer
int - объявление
MyVariable - имя переменной
=0 - инициализация

О переменных мы узнаем больше в следующих уроках.

В 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:

12, 3, 2134, 0, -230
0x0A, 0x12, 0X12, 0x2f, 0xA3, 0Xa3, 0X7C7

Ключевое слово int используется для создания переменной типа integet.

Например:

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.

Ключевое слово bool используется для создания переменной типа Boolean.

Например:

bool I = true;
bool bFlag = 1;
bool bBool=FALSE;

3 – Character

Переменная типа Character – это один символ. Точнее,- это один из 256 алфавитных, циферных или специальных символов, заданных таблицой ASCII (American Standard Code for Information Interchange).
Символам присвоены числовые значения в соответствии с расположением в таблице.
Чтобы записать символ, нужно поместить его в одинарные кавычки:

'a' , '$' , 'Z'

Ключевое слово int используется для создания переменной типа Character.

Например:

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”.

post-798-0-18856400-1346244699
рис. 1 – Символы в массиве

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.

Ключевое слово double используется для создания переменных типа Floating-point number.

Например:

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
// название
Red
Yellow
Black
// числовое значение
0xFFFFFF // white
16777215 // white
0x008000 // green
32768 // green

Ключевое слово color используется для создания переменной типа Color.

Например:

color clr1= Red;
color clr1= C'128,128,128';
color clr1=32768;

post-798-034178000 1283775008

 

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';

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


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