MetaTrader 5 build 4620:MQL5 错误修复和新的 OpenBLAS 方法

该更新解决了几个难以解决的 MQL5 错误,提高了程序的稳定性。此外,我们还修复了手动获取分时报价历史记录的问题。

11 十月 2024

程序端

  1. 修正了一个错误,在某些情况下,该错误会导致返回不完整的分时报价历史记录
  2. 修正了用英语以外的语言选择交易品种时的自动完成功能。在搜索栏中输入交易品种名称时,系统会根据输入的字符自动推荐相关选项。现在,搜索功能可在所有本地语言中正确运行,且不区分大小写。

MQL5

  1. MQL5 文档中新增了 OpenBLAS 方法的说明。目前,已有 15 种矩阵和向量的新方法,不久还将增加更多方法。
    OpenBLAS 是一种高效的高性能计算开源解决方案,尤其是在处理数据集时。

    函数

    操作

    SingularValueDecompositionDC

    奇异值分解(SVD),分而治之算法;被认为是其他 SVD 算法中最快的算法(lapack 函数为 GESDD)。

    SingularValueDecompositionQR

    奇异值分解,QR 算法;被认为是经典的 SVD 算法(lapack 函数为 GESVD)。

    SingularValueDecompositionQRPivot

    奇异值分解、带枢轴算法的 QR(lapack 函数为 GESVDQ)。

    SingularValueDecompositionBisect

    奇异值分解,分段算法(lapack 函数为 GESVDX)。

    SingularValueDecompositionJacobiHigh

    奇异值分解,Jacobi 高级算法(lapack 函数为 GEJSV)。

    SingularValueDecompositionJacobiLow

    奇异值分解,Jacobi 低级算法(lapack 函数为 GESVJ)。在某些情况下,该方法计算小奇异值及其奇异向量的精确度远远高于其他 SVD 程序。

    SingularValueDecompositionBidiagDC

    奇异值分解,双对角矩阵的分而治之算法(lapack 函数为 BDSVDX)。

    SingularValueDecompositionBidiagBisect

    奇异值分解,双对角矩阵的分段算法(lapack 函数为 BDSVDX)。

    EigenSolver

    使用经典算法计算正方形矩阵的特征值和特征向量(lapack 函数为 GEEV)。

    EigenSymmetricDC

    使用分而治之算法计算对称或 Hermitian(复共轭)矩阵的特征值和特征向量(lapack 函数为 SYEVD、HEEVD)。

    SingularSpectrumAnalysisSpectrum

    基于特征值计算光谱成分相对贡献的方法函数

    SingularSpectrumAnalysisForecast

    利用输入时间序列的频谱成分计算重建和预测数据的方法函数。

    SingularSpectrumAnalysisReconstructComponents

    用于计算输入时间序列的重构成分及其贡献的方法函数。

    SingularSpectrumAnalysisReconstructSeries

    利用第一个 component_count 组件计算重建时间序列的方法函数。

  2. 修正了运行使用 matrix::CopyRates方法的旧版本可执行 MQL5 程序文件 (.ex5) 时出现的错误。在新版本下编译的文件不会出现这些错误。
  3. 修正了 union 中允许的订单类型检查。

MetaTester

  • 修正了在某些情况下,自定义指标去初始化时可能发生的崩溃。