MetaTrader 5 build 4620: MQL5 bug fixes and new OpenBLAS methods

What's new in MetaTrader 5

11 October 2024

Terminal

  1. Fixed an error that caused an incomplete tick history to be returned under certain conditions.
  2. Fixed autocompletion when selecting symbols in languages other than English. When you type a symbol name in the search field, the system automatically suggests relevant options based on the entered characters. The search function now works correctly and case-insensitively across all locales.

MQL5

  1. Descriptions of new OpenBLAS methods have been added to MQL5 Documentation. Currently, 15 new methods for matrices and vectors are available, with more to be added soon.
    OpenBLAS is an efficient open-source solution for high-performance computing, especially when working with big datasets.

    Function

    Action

    SingularValueDecompositionDC

    Singular Value Decomposition, divide-and-conquer algorithm; considered the fastest among other SVD algorithms (lapack function GESDD).

    SingularValueDecompositionQR

    Singular Value Decomposition, QR algorithm; considered a classical SVD algorithm (lapack function GESVD).

    SingularValueDecompositionQRPivot

    Singular Value Decomposition, QR with pivoting algorithm (lapack function GESVDQ).

    SingularValueDecompositionBisect

    Singular Value Decomposition, bisection algorithm (lapack function GESVDX).

    SingularValueDecompositionJacobiHigh

    Singular Value Decomposition, Jacobi high-level algorithm (lapack function GEJSV).

    SingularValueDecompositionJacobiLow

    Singular Value Decomposition, Jacobi low-level algorithm (lapack function GESVJ). The method computes small singular values and their singular vectors with much greater accuracy than other SVD routines in certain cases.

    SingularValueDecompositionBidiagDC

    Singular Value Decomposition, divide-and-conquer algorithm for bidiagonal matrices (lapack function BDSVDX).

    SingularValueDecompositionBidiagBisect

    Singular Value Decomposition, bisection algorithm for bidiagonal matrices (lapack function BDSVDX).

    EigenSolver

    Compute eigenvalues and eigenvectors of a regular square matrix using the classical algorithm (lapack function GEEV).

    EigenSymmetricDC

    Compute eigenvalues and eigenvectors of a symmetric or Hermitian (complex conjugate) matrix using the divide-and-conquer algorithm (lapack functions SYEVD, HEEVD).

    SingularSpectrumAnalysisSpectrum

    A method function for calculating the relative contributions of spectral components based on their eigenvalues

    SingularSpectrumAnalysisForecast

    A method function for calculating reconstructed and predicted data using spectral components of the input time series.

    SingularSpectrumAnalysisReconstructComponents

    A method function for calculating reconstructed components of the input time series and their contributions.

    SingularSpectrumAnalysisReconstructSeries

    A method function for calculating the reconstructed time series using the first component_count components.

  2. Fixed errors when running older versions of executable MQL5 program files (.ex5) that use matrix::CopyRates methods. These errors did not occur in files compiled under new versions.
  3. Fixed type-checking for orders allowed in union.

MetaTester

  • Fixed crashes that could occur under certain conditions during the deinitialization of custom indicators.