On Friday, September 5, 2025, build 5260 of the MetaTrader 5 (MT5) platform will be released.
In this build, MetaQuotes continues expanding the OpenBLAS linear algebra library in MQL5 with a new set of functions. These methods provide developers with a complete transformation cycle, from preliminary matrix preparation to precise and stable spectrum computation.
In addition, MQL5 now enforces stricter control over inheritance and method overloading in classes and structures. The new inheritance behavior and compiler constraints help prevent potential errors in application logic.
The developers have also improved file handling in Algo Forge projects, accelerating hash calculations and eliminating false detections of file modifications.
Comprehensive MQL5 Algo Forge documentation has been published on the service website. It clearly demonstrates all the features and advantages of using the Git system for algorithmic traders: how to explore projects, follow interesting publications, collaborate, and clone repositories.
Five new OpenBLAS methods have been added in the Matrix Balance section, expanding functionality for square matrices. The new set of functions provides:
- Matrix balancing for improved accuracy in eigenvalue calculations.
- Back transformations of eigenvectors.
- Reduction to Hessenberg form and Schur decomposition, including orthogonal matrix generation.
These methods give developers a complete transformation cycle, from preliminary matrix preparation to precise and stable spectrum computation.
The methods are based on LAPACK algorithms (GEBAL, GEBAK, GEHRD, ORGHR, HSEQR), ensuring high performance and reliability:
- MatrixBalance: Balances a general real or complex matrix by permuting rows and columns and applying diagonal similarity transformations. Balancing may reduce the 1-norm of the matrix and improve the accuracy of the computed eigenvalues and/or eigenvectors (LAPACK function GEBAL).
- EigenVectorsBackward: Forms the right or left eigenvectors of a real or complex general matrix by backward transformation on the computed eigenvectors of the balanced matrix (LAPACK function GEBAK).
- ReduceToHessenbergBalanced: Reduces a real or complex general balanced matrix to upper Hessenberg form by an orthogonal similarity transformation (LAPACK function GEHRD).
- ReflectHessenbergBalancedToQ: Generates orthogonal matrix Q which is defined as the product of elementary reflectors of order n as generated by reducing to Hessenberg form (LAPACK function ORGHR).
- EigenHessenbergBalancedSchurQ: Computes the eigenvalues of a Hessenberg matrix and the matrices T and Z from the Schur decomposition; optionally computes the Schur factorization of an input matrix reduced to the Hessenberg form (LAPACK function HSEQR).
Two new methods have been added in the Eigen Values section. Both functions efficiently compute eigenvectors after Schur decomposition, completing the full set of linear algebra tools in MQL5:
- EigenVectorsTriangularZ: Computes eigenvectors of a real upper quasi-triangular or complex upper triangular matrix (Schur form). Uses the decomposition A = Q · T · Qᴴ (LAPACK function TREVC). Provides high accuracy.
- EigenVectorsTriangularZBlocked: Block version for computing eigenvectors of a real upper quasi-triangular or complex upper triangular matrix (LAPACK function TREVC3). Faster but not so accurate.