MQL5 для чайников - Урок 2: Типы переменных

4 048
12.2
Опубликовано 19 ноября 2021, 17:08
Первый урок:
youtube.com/watch?v=owoQbnL_h8...

📔 Текстовая версия урока 👉 tlap.com/mql5-urok-2-tipy-pere...

Проверенные и надежные брокеры:
💰 👉 tlap.com/brokeryi

📈 наш сайт 👉 tlap.com
🙋‍♂️ форум 👉 tlap.com/forum
👨‍💻 вк 👉 vk.com/public29468299
🤑 телеграм 👉 t.me/tradelikeaproru
🙈 инстаграм 👉 instagram.com/tradelikeaproru

Приветствую вас, друзья! Переменные – основа всех языков программирования, потому что неважно, какой алгоритм вы придумали, как вы его реализуете и на каком языке напишете, в итоге это все сведется к обработке переменных. В этом уроке мы разберемся с типами переменных в MQL5.

Что такое переменные ?
Если смотреть в разрезе практики, то переменная – это участок, или блок, или ячейка памяти, которой мы даем удобное для нас имя, помещаем туда какие-то данные, и используя имя переменной, которое мы ей дали, мы можем эти данные получать, изменять или куда-то передавать.

Теперь создадим переменную:

char value_char;

Точка с запятой говорит нам об окончании оператора. Оператор может содержать в себе одну или несколько операций. В нашем случае это одна операция создания или, как принято говорить, объявления переменной типа char по имени value_char.

Имена переменных могут состоять из букв латинского алфавита, при этом заглавные и строчные буквы – разные символы, цифр и знаков подчеркивания, не могут иметь служебных символов типа =, #, \ и так далее. Кроме того, имя переменной не может начинаться с цифры:

NAME1 namel Total_5 Paper

Mql5 унаследовал от C++ строгую типизацию переменных. Когда мы объявляем переменную, под нее сразу же выделяется некий объем памяти, который зависит от типа значения, которое будет в этой переменной храниться. И однажды задав тип переменной, в нее уже не запихнуть данные другого типа. Ну, то есть в принципе можно, но результат может быть непредсказуемым.

Теперь я расскажу, какие вообще есть типы переменных в mql5. Итак, есть числовые типы, их больше всего. Также есть строковые типы, они же символьные – просто текст. Есть специальные типы, созданные для каких-то нестандартных операций и не подходящие под описание предыдущих двух. Ну и, наконец, составные типы или пользовательские.

Числовые типы делятся на целочисленные и вещественные.

Целочисленные числовые типы
Целочисленных числовых 4 вида:

char value_char; // 1б памяти, значения от -128 до 127, включая 0;
short value_short; // 2б памяти, значения от -38886 до 38886, включая 0;
int value_int; // 4б памяти;
long value_long; // 8б памяти.
Зачем столько типов? Под каждый тип переменной выделяется разное количество памяти, и диапазон значений, хранимый в каждом типе переменной, будет различаться.

Также есть беззнаковые значения (литералы):

uchar // 1б памяти, значения от 0 до 255;
ushort;
uint;
ulong.
Памяти выделяется столько же, только значения строго положительные и 0. Английская u перед указанием типа означает unsigned, беззнаковый. Их удобно использовать для переменных, которые не могут быть отрицательными. Например, для подсчета количества ордеров и позиций на торговом счете. Если в переменную поместить значение, которое выходит за диапазон, то результат непредсказуем, точнее он будет в пределах заданного диапазона, но при этом каким угодно.

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

Но на самом деле все же большая часть типов переменных используется редко и в довольно специфических ситуациях. Чаще всего используются типы int, uint и ulong.

обучение mql трейдинг технический анализ инвестиции

00:00 Введение. Именование переменных
03:30 Целые типы переменных char, short, int, long
05:14 Беззнаковые целые типы переменных uchar, ushort, uint, ulong
08:06 Целый тип bool
08:30 Переменные типа float и double
10:10 Строковые типы переменных
13:57 Строчные и блочные комментарии
15:30 Перечисления
16:24 Тип данных для хранения времени
17:06 Тип данных для хранения цветов
18:38 Пользовательские типы данных
19:18 Объявление типов переменных
24:02 Области видимости переменных
25:12 Модификатор Input
28:21 Заключение
жизньигрыфильмывесельеавтотехномузыкаспортедаденьгистройкаохотаогородзнанияздоровьекреативдетское