После этой даты старые версии настольных терминалов не смогут подключаться к серверам брокера. Мы настоятельно рекомендуем пользователям своевременно обновляться, так как в каждой версии платформы появляется множество функций и улучшается производительность.
MetaTrader 5
За последние шесть месяцев мы выпустили четыре обновления MetaTrader 5:
Build 4410: Исправлены сбои в десктопной платформе, улучшена проверка совместимости браузеров, решена проблема открытия демо-счетов в веб-версии.
Build 4570: Добавлены режим перекрестия, линейный график и настройка Market Watch в веб-версии, внедрена библиотека OpenBLAS для матричных вычислений и улучшена поддержка ONNX в MQL5, реализованы различные улучшения в десктопной платформе.
Build 4585: Исправлены сбои при отладке и тестировании MQL5-программ, а также утечки памяти при компиляции.
Build 4620: Расширена поддержка OpenBLAS, исправлены запросы тиковой истории.
MetaTrader 4
В каждой версии MetaTrader 4 улучшается производительность, исправляются ошибки и повышается безопасность сервиса Market.
В моей предыдущей статье мы рассмотрели основные программы, которые используют MQL5-программисты (и пришли к выводу, что IDE MetaEditor вполне подходит для начинающих). Кроме того, мы вкратце рассмотрели понятие функции и создали простой скрипт, который печатает сообщение в системном журнале. Эти сообщения можно просмотреть в нижней части окна терминала на вкладке Experts.
Эта статья является продолжением цикла статей для начинающих. Здесь я предполагаю, что читатель уже имеет представление о материале предыдущих двух статей.
Первая статья является вводной. В ней предполагается, что читатель не имеет опыта программирования, и рассказывается о необходимых инструментах программиста, описываются основные типы программ и вводятся некоторые базовые понятия, в частности, понятие "функция".
Вторая статья посвящена операциям с данными. В ней вводятся понятия "литерал", "переменная", "тип данных", "оператор" и т. д., а также рассматриваются основные операторы модификации данных: арифметический, логический, побитовый и другие.
С 1 июля 2025 года минимально поддерживаемыми версиями торговых платформ будут:
MetaTrader 4 - Build 1440, выпущенная 21 февраля 2025 года.
MetaTrader 5 - Build 4755, выпущенная 13 декабря 2024 года.
После этой даты старые версии настольных терминалов больше не смогут подключаться к серверам брокера. Мы настоятельно рекомендуем вам своевременно обновлять платформу, так как в каждой версии появляется множество функций и улучшается производительность.
MetaTrader 5
За последние несколько месяцев для MetaTrader 5 было выпущено три крупных обновления:
Build 4620: Расширенная поддержка OpenBLAS, исправлены запросы истории тиков.
Build 4730: Расширенная поддержка OpenBLAS и общая оптимизация производительности.
Build 4755: исправление ошибок в тестере стратегий и общие улучшения.
MetaTrader 4
В каждой новой версии MetaTrader 4 улучшается производительность, исправляются ошибки и повышается безопасность сервиса Market.
Я уже много раз объяснял, что только профессиональные разработчики создают продукты, которые широко используются. Им нужно все больше и больше возможностей.
Именно поэтому мы приложили столько усилий для развития языка MQL5. В новой бета-версии будет существенно обновлена математика OpenBLAS.
Мы также готовим к выпуску новый компилятор с большим количеством новых возможностей. В бета-версии его пока не будет.
Для разработчиков с низким уровнем кода и непрофессиональных разработчиков мы позже обновим AI Assistant и предложим собственный MCP-сервер.
К вашему сведению, новинка по машинному обучению на MQL5:
MQL5: Добавлен оператор умножения матриц @. Он работает по правилам линейной алгебры и позволяет перемножать матрицы и векторы, а также выполнять скалярное произведение векторов.
Умножение матриц (матрица × матрица)
matrix A( 2 , 3 );
matrix B( 3 , 2 );
matrix C = A @ B; // Результат: матрица C размером [2,2]
Умножение матриц (матрица × вектор)
matrix M( 2 , 3 );
vector V( 3 );
vector R = M @ V; // Результат: вектор R из 2 элементов
Умножение матриц (вектор × матрица)
matrix M( 2 , 3 );
vector V( 1 , 2 );
vector R = V @ M; // Результат: вектор R из 3 элементов
MQL5: В методы Std, Var и Cov добавлен параметр ddof. Он определяет количество степеней свободы, которые вычитаются из делителя при вычислении стандартного отклонения. Для Std и Var параметр по умолчанию равен 0, для Cov - 1.
Как влияет ddof:
По умолчанию ddof=0, и стандартное отклонение вычисляется для всей популяции (стандартное отклонение популяции).
Если ddof=1, то используется выборочное стандартное отклонение, которое корректирует оценку для конечной выборки (используется в статистике при работе с подмножеством данных).
EigenTridiagonalDC - вычисляет собственные значения и собственные векторы симметричной трехдиагональной матрицы с помощью алгоритма "разделяй и властвуй" (LAPACK-функция STEVD).
EigenTridiagonalQR - вычисляет собственные значения и собственные векторы симметричной трехдиагональной матрицы с помощью алгоритма QR (функция LAPACK STEV).
EigenTridiagonalRobust - вычисляет собственные значения и собственные векторы симметричной трехдиагональной матрицы с помощью алгоритма MRRR (Multiple Relatively Robust Representations) (LAPACK-функция STEVR).
EigenTridiagonalBisect - вычисляет собственные значения и собственные векторы симметричной трехдиагональной матрицы с помощью алгоритма биссекции (LAPACK-функция STEVX).
ReduceToBidiagonal - приводит общую вещественную или комплексную матрицу m×n к верхней или нижней бидиагональной форме B с помощью ортогонального преобразования: Q**T * A * P = B. Если m≥n, то B - верхнебидиагональная, иначе - нижнебидиагональная. (LAPACK-функция GEBRD).
ReflectBidiagonalToQP - генерирует ортогональные матрицы Q и P**T (или P**H для комплексных типов), определенные методом ReduceToBidiagonal при приведении вещественной или комплексной матрицы A к бидиагональному виду: A = Q * B * P**T. Q и P**T - произведения элементарных отражателей H(i) или G(i), соответственно. (Функции LAPACK ORGBR, UNGBR).
ReduceSymmetricToTridiagonal - сводит вещественную симметричную или комплексную эрмитову матрицу A к трехдиагональной форме B с помощью ортогонального преобразования подобия: Q**T * A * Q = B. (функции LAPACK SYTRD, HETRD).
ReflectTridiagonalToQ - генерирует ортогональную матрицу Q, которая является произведением n-1 элементарных отражателей порядка n, возвращаемых функцией ReduceSymmetricToTridiagonal.
LinearEquationsSolution - вычисляет систему линейных уравнений с квадратной матрицей коэффициентов A и несколькими правыми сторонами.
LinearEquationsSolutionTriangular - вычисляет систему линейных уравнений с квадратно-треугольной матрицей коэффициентов A и несколькими правыми сторонами.
LinearEquationsSolutionSy - вычисляет систему линейных уравнений с симметричной или эрмитовой сопряженной матрицей A и несколькими правыми сторонами.
LinearEquationsSolutionComplexSy - вычисляет систему линейных уравнений с комплексной симметричной матрицей A и несколькими правыми сторонами.
LinearEquationsSolutionGeTrid - вычисляет систему линейных уравнений с симметричной или эрмитовой сопряженной положительно определенной матрицей A и несколькими правыми сторонами.
LinearEquationsSolutionSyPD - вычисляет систему линейных уравнений с общей (несимметричной) трехдиагональной матрицей коэффициентов A и несколькими правыми сторонами.
LinearEquationsSolutionSyTridPD - вычисляет систему линейных уравнений с симметричной трехдиагональной положительно определенной матрицей A и несколькими правыми сторонами.
FactorizationQR - вычисляет QR-факторизацию общей матрицы m-by-n: A = Q * R (LAPACK-функция GEQRF).
FactorizationQRNonNeg - вычисляет QR-факторизацию общей матрицы m-by-n: A = Q * R, где R - верхняя треугольная матрица с неотрицательными записями на диагонали (LAPACK-функция GEQRFP).
FactorizationQRPivot - вычисляет QR-факторизацию общей матрицы m-by-n с перестановкой столбцов: A * P = Q * R (LAPACK-функция GEQP3).
FactorizationLQ - выполняет LQ-факторизацию общей матрицы m-by-n: A = L * Q (LAPACK-функция GELQF).
FactorizationQL - выполняет QL-факторизацию общей матрицы m-by-n: A = Q * L (LAPACK-функция GEQLF).
FactorizationRQ - выполняет RQ-факторизацию общей матрицы m-by-n: A = R * Q (LAPACK-функция GERQF).
FactorizationPLU - вычисляет LU-факторизацию общей матрицы A размером m-by-n, используя частичный выбор поворотных точек и перестановку строк (LAPACK-функция GETRF).
FactorizationPLUGeTrid - вычисляет LU-факторизацию общей (несимметричной) n-by-n трехдиагональной матрицы A с использованием частичного выбора точек поворота и перестановки строк (LAPACK-функция GTTRF).
FactorizationLDL - вычисляет факторизацию вещественной симметричной или комплексной эрмитовой матрицы A с использованием диагонального выбора точек поворота по методу Банча-Кауфмана (LAPACK-функции SYTRF и HETRF).
FactorizationLDLSyTridPD - вычисляет факторизацию симметричной положительно определенной (для вещественных данных) или эрмитовой положительно определенной (для комплексных данных) трехдиагональной матрицы A (LAPACK PTTRF).
FactorizationCholesky - вычисляет факторизацию для вещественной симметричной или комплексной эрмитовой положительно-определенной матрицы A (функция LAPACK POTRF).
FactorizationCholeskySyPS - вычисляет полную поворотную факторизацию Холески вещественной симметричной (или комплексной эрмитовой) положительной полудефинитной n-by-n матрицы A (функция LAPACK PSTRF).
MQL5: Добавлена функция Random и метод заполнения векторов и матриц случайными значениями. Случайные значения генерируются равномерно в заданном диапазоне.
staticvectorvector ::Random(
constulong size, // длина вектораconstdouble min= 0.0 , // минимальное значениеconstdouble max= 1.0// максимальное значение
);
staticmatrixmatrix ::Random(
constulong rows, // количество строкconstulong cols // количество столбцовconstfloat min= 0.0 , // минимальное значениеconstfloat max= 1.0// максимальное значение
);
Форум о трейдинге, автоматических торговых системах и тестировании торговых стратегий
Поддержка старых версий MetaTrader 4 и MetaTrader 5 завершится 1 декабря
MetaQuotes, 2024.10.22 09:42
С 1 декабря 2024 года минимальные поддерживаемые версии торговых платформ будут следующими:
После этой даты старые версии настольных терминалов не смогут подключаться к серверам брокера. Мы настоятельно рекомендуем пользователям своевременно обновляться, так как в каждой версии платформы появляется множество функций и улучшается производительность.
MetaTrader 5
За последние шесть месяцев мы выпустили четыре обновления MetaTrader 5:
MetaTrader 4
В каждой версии MetaTrader 4 улучшается производительность, исправляются ошибки и повышается безопасность сервиса Market.
Загрузите последнюю версию платформы с новыми функциями
Форум о трейдинге, автоматических торговых системах и тестировании торговых стратегий
Как начать работать с MQL5
Сергей Голубев, 2025.01.24 06:31
Осваиваем MQL5 от новичка до профи (часть II): Основные типы данных и использование переменных
В моей предыдущей статье мы рассмотрели основные программы, которые используют MQL5-программисты (и пришли к выводу, что IDE MetaEditor вполне подходит для начинающих). Кроме того, мы вкратце рассмотрели понятие функции и создали простой скрипт, который печатает сообщение в системном журнале. Эти сообщения можно просмотреть в нижней части окна терминала на вкладке Experts.
Форум о трейдинге, автоматических торговых системах и тестировании торговых стратегий
Как начать работать с MQL5
Сергей Голубев, 2025.01.24 06:35
Осваиваем MQL5 от новичка до профи (часть III): Сложные типы данных и включаемые файлы
Эта статья является продолжением цикла статей для начинающих. Здесь я предполагаю, что читатель уже имеет представление о материале предыдущих двух статей.
Первая статья является вводной. В ней предполагается, что читатель не имеет опыта программирования, и рассказывается о необходимых инструментах программиста, описываются основные типы программ и вводятся некоторые базовые понятия, в частности, понятие "функция".
Вторая статья посвящена операциям с данными. В ней вводятся понятия "литерал", "переменная", "тип данных", "оператор" и т. д., а также рассматриваются основные операторы модификации данных: арифметический, логический, побитовый и другие.
Форум о трейдинге, автоматизированных торговых системах и тестировании торговых стратегий
С чего начать?
Сергей Голубев, 2025.02.20 07:49
Осваиваем MQL5 от новичка до профи (часть IV): О массивах, функциях и глобальных терминальных переменных
В этой статье я затрону три глобальные темы:
Форум о трейдинге, автоматизированных торговых системах и тестировании торговых стратегий
Поддержка старых версий MetaTrader 4 и MetaTrader 5 завершится 1 июля
MetaQuotes, 2025.05.12 07:52
С 1 июля 2025 года минимально поддерживаемыми версиями торговых платформ будут:
После этой даты старые версии настольных терминалов больше не смогут подключаться к серверам брокера. Мы настоятельно рекомендуем вам своевременно обновлять платформу, так как в каждой версии появляется множество функций и улучшается производительность.
MetaTrader 5
За последние несколько месяцев для MetaTrader 5 было выпущено три крупных обновления:
MetaTrader 4
В каждой новой версии MetaTrader 4 улучшается производительность, исправляются ошибки и повышается безопасность сервиса Market.
Загрузите последнюю версию платформы с новыми функциями и улучшениями
Форум о трейдинге, автоматизированных торговых системах и тестировании торговых стратегий
Есть ли серьезные планы по модернизации MetaEditor до IDE для программирования профессионального уровня?
Ренат Фатхуллин, 2025.05.28 19:20
В ближайшие дни будет выпущена бета-версия, в которой хранилище редактора MT5 будет заменено на Git.
Мы запускаем новый совместный проект MQL5 Algo Forge: https://forge.mql5.io.
Форум о трейдинге, автоматизированных торговых системах и тестировании торговых стратегий
Есть ли серьезные планы по обновлению MetaEditor до IDE для программирования профессионального уровня?
Ренат Фатхуллин, 2025.05.29 12:58
Я уже много раз объяснял, что только профессиональные разработчики создают продукты, которые широко используются. Им нужно все больше и больше возможностей.
Именно поэтому мы приложили столько усилий для развития языка MQL5. В новой бета-версии будет существенно обновлена математика OpenBLAS.
Мы также готовим к выпуску новый компилятор с большим количеством новых возможностей. В бета-версии его пока не будет.
Для разработчиков с низким уровнем кода и непрофессиональных разработчиков мы позже обновим AI Assistant и предложим собственный MCP-сервер.
Это очень важное объявление:
Это очень важное объявление:
Форум о трейдинге, автоматизированных торговых системах и тестировании торговых стратегий
Машинное обучение в трейдинге: теория, модели, практика и альго-трейдинг
Ренат Фатхуллин, 2025.06.09 14:15
К вашему сведению, новинка по машинному обучению на MQL5:
Умножение матриц (матрица × матрица)
Умножение матриц (матрица × вектор)
Умножение матриц (вектор × матрица)
Точечное произведение (вектор × вектор)
Как влияет ddof:
Вычисление собственных значений и собственных векторов
Уменьшение матрицы
Ортогональные разложения
Разложения матриц