新版 MetaTrader 5 平台 build 4570:网页端版本的增强以及在 MQL5 中集成 OpenBLAS

MetaTrader 5新功能

27 九月 2024

客户端

  1. 如果账户订阅了信号,则限制访问 MQL5 交易和历史函数。

    在账户中检测到信号订阅时(无论当前终端是否启用复制),禁止调用任何MQL5 交易函数,包括接收开启订单和仓位、接收历史记录以及执行交易操作。日志中会记录相应的警告:
    'XXX':检测到信号订阅,禁用 MQL5 和 Python 中的交易和历史访问函数
    这些限制也适用于Python 交易函数:positions_total, positions_get, orders_total, orders_get, history_orders_total, history_orders_get, history_deals_total, history_deals_get, order_check, 和 order_send。

    如果取消了账户上的信号订阅,或连接到另一个没有订阅信号的账户,则会解除限制并记录以下信息:
    'XXX':未检测到信号订阅,已启用 MQL5 和 Python 中的交易和历史访问功能
    如果账户上的限制处于活动状态,MQL5 函数将返回以下响应代码:

    • OrderSend 和 OrderSendAsync 返回 RET_REQUEST_AT_DISABLED_CLIENT
    • OrdersTotal 和 PositionsTotal 返回 0
    • PositionGetSymbol、PositionSelect、PositionSelectByTicket 和 PositionGetTicket 返回 ERR_MQLAPI_TRADE_POSITION_NOT_FOUND
    • OrderGetTicket 和 OrderSelect 返回 ERR_MQLAPI_TRADE_POSITION_NOT_FOUND
    • HistorySelect 返回 ERR_MQLAPI_TRADE_DEAL_NOT_FOUND

  2. 修正、优化并加速了分时报价历史请求,并可导出为 CSV/HTML 文件。
  3. 添加了Microsoft Edge WebView2 支持,以便在 macOS 上的交易平台中显示 HTML 内容。与之前的MSHTML相比,新组件通过提供对现代技术的访问进一步扩展了内容显示功能。向 WebView2 的过渡改善了市场、信号、VPS 和其他部分的外观,提高了它们的性能,并创建了更具响应性的界面。

  4. 修复了内部邮件发送窗口中的上下文菜单。
  5. 修复了交易工具选择对话框中的过滤问题。 不再需要先输入工具名称来隐藏过期的资产工具。
  6. 修复了在合同规格窗口中计算保证金要求的问题。交易所股票和债券工具以前可能会发生计算错误。
  7. 改进了先进先出账户的批量平仓功能。此类账户不再显示不兼容的操作类型,包括关闭所有盈利/亏损仓位、同向仓位和反向仓位。
  8. 修复了用户无法在遵循先进先出规则平仓的账户中下达反向挂单的问题。
  9. 修复了计算持有交易所期货工具仓位账户的清算价值问题。
  10. 修复了交易所债券和交易所 MOEX 债券工具仓位的浮动利润计算问题。
  11. 当平台在没有先前添加帐户的情况下启动时,禁用了自动模拟帐户创建。
  12. 改进注册账户时的姓名和电子邮件验证。
  13. 修复了锁仓持仓保证金计算的问题。在某些情况下,使用账户浮动保证金(根据当前仓位的交易量/价值计算)时可能会出现错误。
  14. 修复了模拟账户开设对话框中 "下一步" 按钮状态的更新。输入电话或电子邮件确认码后,在某些情况下,该按钮可能会保持不活动状态。
  15. 更新了用户界面翻译。

MQL5

  1. 添加了与 OpenBLAS 矩阵计算库的本地集成。

    OpenBLAS 是一个高性能的开源线性代数库,它实现了 BLAS(基本线性代数子程序)和一些 LAPACK 函数。OpenBLAS 旨在提高计算性能,尤其是矩阵和矢量运算性能,这些运算通常用于机器学习、数值方法和模拟等科学和工程任务。

    OpenBLAS 的主要功能:

    • 多线程支持:OpenBLAS 可以有效地利用多个处理器内核进行并行计算,大大加快了多处理器系统的运行速度。
    • 优化处理器架构:OpenBLAS 包括针对各种处理器(如 Intel、AMD、ARM 等)的优化版本。程序库可自动检测处理器特性(支持的指令集,如 AVX/AVX2/AVX512),并选择最合适的函数实现。
    • 广泛的 BLAS 操作支持:OpenBLAS 实现了核心 BLAS 函数,包括矢量运算(如矢量加法和点积)、矩阵运算(乘法)以及矢量-矩阵运算。
    • LAPACK 兼容性:该库支持LAPACK(线性代数包)函数,用于更复杂的线性代数操作,如求解线性方程组、计算矩阵特征值等。
    • 高性能:与其他 BLAS 库相比,由于针对特定处理器架构进行了手工优化,OpenBLAS 通常能取得更好的效果。

    OpenBLAS 广泛应用于涉及数值计算的应用程序中:

    • 训练神经网络和其他机器学习任务。
    • 科学计算(如物理过程建模)。
    • 处理和分析大量数据。

    MQL5 目前提供以下方法:

    奇异值分解(SVD):

    • SingularValueDecompositionDC - 分而治之算法;被认为是其他 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)。

    Eigen 方法:

    • EigenSolver - 使用经典算法(lapack 函数 GEEV)计算正方形矩阵的特征值和特征向量。
    • EigenSymmetricDC - 使用分而治之算法(lapack 函数 SYEVD、HEEVD)计算对称或 Hermitian(复共轭)矩阵的特征值和特征向量。

    详细文档将会很快提供。

  2. ENUM_SYMBOL_SWAP_MODE 枚举中添加了 SYMBOL_SWAP_MODE_CURRENCY_PROFIT 值。如果 SymbolInfoInteger 函数返回此值,账户上的库存费将以利润计算货币计费。
  3. 扩展了 ONNX Runtime 支持。添加了新类型的机器学习操作,使您可以运行更高级的神经模型。
  4. 我们继续过渡到更高效的MQL5编译器,该编译器已经用于某些功能。这一转变将有助于进一步优化和加快程序执行速度。
  5. 添加了新的数据类型,以支持 OpenBLAS 库:

    • complexf - 用浮点数表示的复数
    • vectorcf - 包含 complexf 类型元素的向量
    • matrixcf - 包含 complexf 类型元素的矩阵

  6. 在处理违反 URL 格式规则、包含重定向错误或有长长的 DNS 备选名称列表的网站时,改进了 WebRequest 操作。
  7. 修复了同时为多个变量分配矩阵或向量类型的问题。

MetaEditor

  1. 更新了人工智能助理(AI Assistant)的可用模型。现在,更先进的 GPT-4o mini 取代了 GPT-3.5 Turbo。还增加了 01-mini 模型。
  2. 修正了调试器错误,由于该错误,变量值可能无法在观察窗口中更新。
  3. 更新了用户界面翻译。

MetaTester

  1. 修复了保存自定义交易品种设置中的保证金系数。
  2. 修复了在某些条件下测试通过之间可能出现的内存泄漏。


网页端

  1. 添加了十字光标模式,可在图表上查看精确数值和测量距离。

    点击左侧面板上的相关按钮,启用该模式。将十字准线移至图表上的任意一点,即可在相应的坐标轴上看到日期和价格。要测量距离,请单击图表上的任意一点,然后按住鼠标键将光标拖到另一点。


    添加了用于在图表上查看精确数值和测量距离的十字准线模式


    您还可以使用快捷键:按下鼠标中键启用十字准线,使用 Esc 键或单击鼠标右键禁用十字准线。

  2. 添加了根据柱形收盘价绘制的简单折线图:


    添加了根据柱形收盘价绘制的简单折线图


  3. 在移动版视图中,增加了在 "市场观察" 部分显示附加列的功能。要进行配置,请切换到表格模式并单击"...":


    移动版视图中 "市场观察" 的附加列


  4. 已添加热键:

    • Home - 滚动到图表开头(最早日期)
    • End - 滚动到图表末尾(最新日期)
    • Page Up - 将图表向后滚动一个屏幕
    • Page Down - 将图表向前滚动一个屏幕

  5. 增强账户连接存储的数据安全性。
  6. 改进了图表的滚动、拖动和缩放功能。
  7. 加快了网页端平台在网页上的初始加载速度。
  8. 优化了柱形的加载。
  9. 修复了交易所债券和交易所 MOEX 债券工具仓位的浮动利润计算问题。
  10. 修正了图表上一键式交易面板的交易量输入。
  11. 修复了更新市场深度中订单交易量的错误。在某些情况下,数值可能会延迟更新。
  12. 修复了下订单时检查最低允许交易量的问题。
  13. 修复了锁仓持仓保证金计算的问题。在某些情况下,使用账户浮动保证金(根据当前仓位的交易量/价值计算)时可能会出现错误。
  14. 修复了一键式交易面板上的买入和卖出按钮在改变交易量之前可能无法使用的错误。