Работа с типами
Все пользовательские данные хранятся в виде числовых представлений. Добавим на схему блок "отладочная информация", в этот блок поместим блок "ввод значения" и введем какой-либо текст. Блок "отладочная информация" свяжем с блоком событий "запуск робота", чтобы все сработало сразу после запуска робота.
Запустим нашего робота и посмотрим, что вывелось в журнал.
Введенный текст был трансформирован в число. Каждому строковому значению присваивается уникальное числовое представление, то есть наш текст будет иметь разное числовое представление при каждом запуске робота.
В памяти робота хранятся все строковые значения и их числовые представления. При помощи специальных блоков мы можем явно указать, в каком формате мы хотим представить значение.
Всего есть 4 блока, при помощи которых можно явно задавать формат значений:
Блок | Описание |
Обычная строка | Приводит значение к обычной строке |
Строка в формате даты и времени | Приводит значение в формат даты и времени |
Целое число | Приводит значение к целому числу |
Дробное число | Приводит значение к дробному числу |
Перенесем блок "Обычная строка" на блок "Ввод значения":
Теперь мы явно указали, что хотим вывести текст как есть, без всяких конвертаций:
Необходимость блоков приведения к типу обусловлена тем, что MQL5 - строго типизированный язык программирования. Это значит, что в переменной может хранится значение строго одного типа. Поэтому в BotBrains все пользовательские значения приводятся к типу double (дробное число).
Количество знаков после запятой у дробных чисел
У блока приведения к типу "Дробное число" есть один параметр - количество знаков после запятой:
Довольно часто значения имеют множество знаков после запятой, большинство из которых не представляют особого интереса. При помощи этого блока приведения к типу можно оставить только ограниченное количество знаков после запятой.
Last updated