18+
реклама
18+
Бургер менюБургер меню

Александр Нечаев – Основы MQL5 программирования. Разработка технических индикаторов и торговых советников (страница 3)

18

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

Заменять табуляцию пробелами – если включить, то при включении стилизатор отредактирует каждый символ табуляции на пробел.

Вставлять пробелы после запятых и точек с запятой – при включении стилизатор добавит пробелы после каждого нажатия запятой или точки с запятой.

Вставлять пробелы вокруг операторов объявления – при включении стилизатор добавит пробелы после некоторых операторов (равенства, сравнения и т.д.)

Это довольно второстепенная вкладка, я обычно не использую это редактирование.

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

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

– Community – эта вкладка нужна исключительно для хранилища и общих проектов. Если вы не используете общие объекты и хранилище, то эта вкладка для вас не актуальна.

Блок 6. Полезные комбинации кнопок

В данном разделе я пропишу некоторые комбинации кнопок, которые на мой взгляд могут облегчить жизнь разработчику, в целом это то, что я сам использую чаще всего. Полный перечень комбинаций кнопок можно найти в справочнике к компилятору. Кстати крайне рекомендую его к ознакомлению ввиду его высокой информативности. Например, если я использую около 10 комбинаций клавиш клавиатуры в своей разработке, то в справочнике вы найдете перечень в несколько раз больший и возможно там будет полезная для вас информация.

– F1 – самая важная кнопка в работе с компилятором. Вызов справочника. При активной разработке объем взаимодействия со справочником будет всегда большим.

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

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

– Клик левой кнопки мыши на начало нужного кода, далее зажать Shift + клик левой кнопки мыши на конец нужного кода – выделит данный объем нужного кода.

– Ctrl + / – Добавить "// – -" и сместить код на одну строку вниз. Данный комментарий очень актуален для того, чтобы добавлять комментарии к блокам кода. Я использую их для разделения элементов разделов кода, тогда как сами разделы отделяю строкой кода из «Коробки» либо самой «Коробкой»

– Ctrl +> – Добавить «Коробку» комментария. Она может использоваться, например для разделения больших разделов кода. Она занимает первые строки при создании нового файла.

– Ctrl + F – Найти необходимый текст.

– Ctrl + G – Перейти к строке с соответствующим номером.

– Ctrl + J – Найти нужные сочетания и заменить их на выбранные. Полезно при копировании и добавлении однотипных обработчиков.

– Ctrl + " – Закомментировать текущую строку.

– Ctrl + Z – Отменить последнее действие,

– Ctrl + Y – Вернуть последнее действие, данная комбинация противоположна комбинации "– Ctrl + Z».

Глава 3. Типы данных и переменные

MQL5 – это C-образный язык. Он основывается на языке C++, для изучения MQL5 также актуальны знания по C++. Для разработчиков C++ изучение MQL5 будет даваться проще благодаря весьма похожему синтаксису.

В данной главе мы рассмотрим основы языка MQL5.

3.1 Основные типы данных

Для получения различных свойств, совершения любых действий в программе, используются различные типы данных. Например, данные с плавающей точкой «double, float» используются для получения цены или объема текущей позиции, данные даты и времени datetime могут быть использованы для определения времени открытия или закрытия позиций, а целые значения int, uin… обозначают количество открытых позиций.

Разные типы данных обрабатываются с разной скоростью, наиболее быстро обрабатываются целочисленные данные. Дольше всего обрабатываются строковые данные. Лучше иметь это ввиду при программировании больших программ, чтобы не перегружать ваш компьютер.

Перечень основных типов данных, с комментариями:

– Целые – типы данных используемые для получения каких-либо целых значений, например, количество открытых позиций.

– char – занимает меньше всего памяти среди всех целочисленных типов данных, 1 байт. Может иметь положительное и отрицательное значение в пределах от -128 до 127.

– unchar – Также занимает всего 1 байт памяти. Этот тип предназначен только для положительных значений, соответственно минимальное значение, это 0, максимальное это 255.

– short – Этот тип данных занимает 2 байта, может иметь как положительное так и отрицательное значение, в диапазоне от -32 768, до 32 767.

– ushort – Размер равен предыдущему типу, 2 байта. Может иметь только положительно значение от 0 до 65 535.

– Int – наиболее популярный целочисленный тип, имеет размер 4 байта. Диапазон значений от 2 147 483 648 до 2 147 483 647.

– uint – также как и все предыдущие варианты с написанием через U, этот тип может иметь только положительное значение. Размер равен 4 байта, используется для выражения от 0 до 4 294 967 295.

– long – самый объемный тип данных из целочисленных. Имеет размер 8 байт, диапазон значений от -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807.

– ulong – используется для положительных выражений от 0 до 18 446 744 073 709 551 615, размер 8 байт.

– Логические – это тип данных для выражения логических значений.

– bool – единственный тип логических данных. С помощью этого типа данных можно выразить значения ложь false или истина true, использующие 0 или 1 в качестве числового выражения. Это целое число размеров 1 байт.

Пример 1. Варианты значений переменных типа bool

bool var_a = false; bool var_b = true; bool var_c = 0;

Обратите внимание! В логических выражения вы можете применять другие целочисленные значения, компилятор не сочтет это ошибкой, в этом случае 0 будет использован как false, а остальные значения как true.

– Литералы – Как говорит нам официальная документация к компилятору «Литеральное представление состоит из трех частей, представляющих числовые значения интенсивности трех основных компонент цвета: красной (red), зеленой (green), синей (blue). Константа начинается с символа C и обрамляется одинарными кавычками. Числовые значения интенсивности компоненты цвета лежат в диапазоне от 0 до 255.»(Ссылка из справочника MQL5/Основы языка/Типы данных/Целые типы/Тип color)

– Строки – Тип данных для обозначения текстовых строк.

– string – текстовые строки в программе. Может быть применен, например, для записи комментария у ордера, для текстовых меток в панелях, для текста в кнопках и т. д.

– С плавающей точкой – это типы данных применяемых для чисел со знаком после запятой, то есть для представления значений с дробной частью. Могут использоваться для выражения объема, цены и т. д.

– double / float – рассмотрим одновременно оба типа, та как разница исключительно в размерах этих типов данных. float – занимает 4 байта памяти, double – занимает 8 байт в памяти. Тип double применяется чаще чем float, я советую использовать этот тип.

– Цвет – тип данных для хранения информации о цвете.

– color – тип данных для обозначения цвета любого элемента, занимает 4 байта памяти, обозначается в RGB формате. Могут быть представлены: литерально, целочисленно и с помощью имени web-цветов. Я обычно использую набор web-цветов. Вы можете найти его в справочнике MQL5.

Пример 2. Варианты значений переменных типа color

// – - литералы C«192,192,192» – Серебряный //названия цветов clrSilver – Серебряный // – - целочисленные представления c0c0c0 – Серебряный

– Дата и время – тип данных для хранения информации о дате и времени.

– datetime – обозначение даты или времени в программе, начиная с 1 января 1970 года. Занимает 8 байт в памяти. Может использоваться для определения времени открытия или закрытия ордера, экспирации отложенных ордеров (то есть время истечения отложенного ордера, можно создать отложенный ордер с существованием ограниченного времени). Также этот тип данных может использоваться для регулирования свеч, то есть время открытия и закрытия.

– Перечисления – возможность выбора одного из множества вариантов в выпадающем списке.

– enum – тип данных всегда имеет размер 4 байта в отличие от С++, поэтому количество перечислений может быть отграничено объемом переменной. Используется для перечисления вариантов, например, выбор таймфрейма. Для того чтобы что бы выбрать один из вариантов все возможные варианты должны быть перечислены.