- Типы матриц и векторов
- Создание и инициализация матриц и векторов
- Копирование матриц, векторов и массивов
- Копирование таймсерий в матрицу или вектор
- Копирование истории тиков в матрицу или вектор
- Вычисление выражений с матрицами и векторами
- Манипуляции над матрицами и векторами
- Произведения матриц и векторов
- Преобразования (разложение) матриц
- Получение статистики
- Характеристики матриц и векторов
- Решение уравнений
- Методы машинного обучения
Матрицы и векторы
Для решения большого класса математических задач в язык MQL5 встроены специальные объектные типы данных — матрицы и векторы. Эти типы предоставляют методы для написания краткого и понятного кода, который близок к математической записи линейных или дифференциальных уравнений.
В каждом языке программирования существует понятие массива, как набора множества элементов. На основе массивов числовых типов (int, double) или, может быть, структур, строится большинство алгоритмов, особенно в алготрейдинге. Доступ к элементам массива осуществляется по индексу, что позволяет производить операции внутри циклов. Как мы знаем, массивы могут иметь одно, два или более измерений.
Для относительно простых задач хранения и обработки данных возможностей массивов обычно хватает. Но когда дело доходит до комплексных математических задач, из-за большого количества вложенных циклов работа с массивами становится сложной в плане как программирования, так и чтения кода. Даже самые простые операции линейной алгебры требуют большого количества кода и хорошего понимания математики. Упростить эту задачу позволяет функциональная парадигма программирования, воплощенная в виде функций-методов матриц и векторов, выполняющих массу рутинных действий "за сценой".
Современные технологии, такие как машинное обучение, нейронные сети и 3D-графика, широко используют решения задач из линейной алгебры, в которой применяются операции над векторами и матрицами. Именно поэтому для быстрой и удобной работы с такими объектами в MQL5 были добавлены новые типы данных.
Во время написания книги набор функций для работы с матрицами и векторами активно пополнялся, поэтому многие интересные новинки могут оказаться не упомянутыми здесь. Следите за анонсами релизов и разделом статей на сайте mql5.com.
В этой главе мы дадим краткое описание, а подробную информацию о матрицах и векторах смотрите в соответствующем разделе справки Методы матриц и векторов.
Также предполагается, что читатель знаком с теорией линейной алгебры. При необходимости, обращайтесь к справочной литературе и пособиям в Сети.