Работа с массивами

Любую программу, а в особенности — связанную с трейдингом, трудно представить без массивов. Мы уже изучили общие принципы описания и использования массивов в одноименной Главе. Они органично дополняются набором встроенных функций для работы с массивами.

Некоторые из них предоставляют готовые реализации наиболее востребованных операций над массивами, такие как поиск максимума и минимума, сортировка, вставка и удаление элементов.

Однако есть и целый ряд функций, без которых невозможно применение массивов конкретных типов. В частности, под динамический массив необходимо предварительно выделить память, прежде чем работать с ним, а массивы с данными для буферов индикаторов (этот тип MQL-программ мы изучим в 5-ой Части книги) используют особый порядок индексации элементов, устанавливаемый специальной функцией.

А начнем мы рассмотрение функций для работы с массивами с операции вывода в журнал. Она уже встречалась в предыдущих главах книги и пригодится во многих последующих.

Поскольку массивы MQL5 могут быть многомерными (от 1 до 4 измерений), нам потребуется далее в тексте ссылаться на номера измерений. Мы будем их называть номерами, начиная с первого, что более привычно геометрически и подчеркивает тот факт, что массив обязан иметь хотя бы одну размерность (даже если он пустой). Однако элементы массивов по каждому измерению нумеруются, как принято в MQL5 (и во многих других языках программирования), с нуля. Таким образом, для массива, описанного как array[5][10], первое измерение имеет размер 5, а второе — 10.