MetaTrader 5新功能

桌面版,移动版和网页平台的更新历史

24 四月 2026

MetaTrader 5 平台更新 Build 5830:总体改进

程序端

  1. 改进的内置帮助:

    • 优化了暗色主题的配色,以提升可读性。
    • 调整了导航侧边栏的大小。
    • 在 MetaEditor 中新增了帮助窗口取消停靠的功能。
    • 新增了通过上下文菜单和 Ctrl+C 复制文本的功能。
    • 新增了调整文本缩放的功能:按住 Ctrl 键并滚动鼠标滚轮,或使用上下文菜单。
    • 通过使用 Alt + 左/右箭头键,可在先前浏览过的章节间实现导航切换。
    • 新增了使用 Ctrl+P 打印页面的功能。

  2. 优化了暗色主题下某些界面元素的显示效果,包括 OHLC 线、图表折叠/展开按钮以及策略测试器中的输入参数。
  3. 修复了“市场观察”中“使用系统颜色”选项的保存问题。重新启动应用程序后,设置可能会被重置。

16 四月 2026

MetaTrader 5 平台更新 Build 5800:重新设计的交易对话框以及 MetaEditor 中改进的 CSV 操作功能

程序端

  1. 我们已经开始对交易对话框进行全面重新设计,以使其更加直观且功能更强大。

    • 该对话框现已内置“市场深度”功能,可全面展示市场状况,并支持在特定价格水平快速下达挂单
    • 订单类型切换已移至侧面板,以便更轻松访问。
    • 侧面板现已包含一键交易的启用/禁用控制选项。此前,这些选项仅在平台设置中提供。


    未来版本将在止损水平设置和风险管理方面提供更多增强功能。


    “新建交易”对话框


  2. 更新了内置帮助。内置帮助系统已从传统的 CHM 格式升级为现代的基于 web 的引擎。随着这一转变,帮助界面也进行了重新设计,采用了更新的样式并增强了交互性。

    默认情况下,帮助窗口会在图表区域内的单独面板中打开。如有需要,可将其拆下并移至平台外,以便为交易工具腾出空间。


    更新了内置帮助


  3. 修复了 ONNXOpenBLAS 库的更新问题。在平台更新期间,现在会正确检查并下载所需的组件。
  4. 修复了图表定位标记的显示问题。
  5. 修复了交易报告中余额回撤的计算问题。此前,提款金额可能被错误地计入。
  6. 优化了暗色主题。我们调整了部分颜色,以增强对比度。
  7. 修复了代理连接设置的保存问题,并扩展了日志记录功能。当代理在会话期间首次被使用时,会记录以下消息:
    connecting through HTTP proxy [server]:[port]
  8. 更新了乌兹别克语本地化 —— 现已改用拉丁字母。

MQL5

  1. 新增了用于 L1 趋势滤波的 OpenBLAS 方法,可从时间序列中快速且可重复地提取趋势分量。

    适用场景

    • 采用分段线性趋势而非平滑平均:L1 滤波器在减少噪声和短期波动的同时,不会模糊趋势转变点,而是将趋势表示为线性段。
    • 自动检测转折点:由于二阶差分具有稀疏性,趋势斜率的变化得以自然识别 —— 这对金融时间序列尤为有用。
    • 通过 λmax 对正则化参数进行归一化:现在可以相对地定义 λ 参数(即作为 λmax 的一个分数)。这使得在不同交易品种、时间周期以及长度各异的历史数据集之间传输设置变得更加容易。

    新方法

    • L1TrendFilterLambdaMax — 计算当解呈现严格线性特征(即全局趋势)时所对应的最大正则化值(λmax)。返回 true 或 false,并通过输出参数提供 λmax。
    • L1TrendFilter — 计算给定 λ 下的 L1 趋势。支持 relative=true,其中 λ 在 [0…1] 范围内定义,表示 λmax 的一个分数。

  2. 修复了通过 CopyRates 请求数据的问题。对超出可用历史记录范围的请求现在会正确返回错误代码 -1。
  3. 扩展了对 ONNX 模型的 CUDA 支持。目前可使用以下架构:

    • Turing:Nvidia 1660、RTX 2080/2070/2060、T4、Quadro RTX
    • Ampere:A100、RTX 3090/3080/3070
    • Ada Lovelace:RTX 4090/4080/4070,L40,L4
    • Hopper:H100、H200
    • Blackwell:B100、B200、B20、RTX 5090/5080/5070

  4. 使用 Keep-Alive 改进了长时间运行请求的 WebRequest 的操作。

MetaEditor

  1. 为 CSV 文件添加了表格视图。

    在开启 CSV 文件之际,编辑器现可自动将其以结构化表格的形式予以呈现。您可使用右键关联菜单来过滤数据、按列排序以及删除行。

    任何字符均可用作分隔符,包括逗号、分号、制表符和空格。如果自动检测不正确,可以手动设置分隔符。


    已添加 CSV 表格视图功能


  2. 改进了默认编译模式的设置。如果您的 CPU 支持 AVX2 指令集,编辑器会自动为 MQL5 应用程序设置相应的编译模式。这确保了最佳性能。
  3. 更新了默认源文件的编码格式。文件现在以不带 BOM 的 UTF-8 格式保存,这可确保在 MQL5Algo Forge 中正确显示。
  4. 修复了使用 MQL5 Algo Forge 云存储时出现的“仓库不属于当前用户”错误。

信号

  1. 修复了当订阅者账户缺少计算复制比率所需的汇率时,信号复制功能出现的延迟问题。

    在确定交易量时,系统会考虑订阅方账户与提供方账户之间的余额比例。如果存款货币不同,则需要相应的汇率。如果所需的汇率不可用,系统将默认余额相等,并记录一条警告:
    no conversion rate for the deposit currency of provider and subscriber
    此前,在出现此警告后,用户可能会遇到交易复制延迟的情况。该问题现已解决。

测试器

  1. 修复了 CopyTicksRange 的行为。此前,请求除主要测试交易品种以外的其他交易品种时,会返回错误代码 4401。
  2. 修复了自定义交易设置的导入功能。这些设置现在可以在导入后编辑。

网页端

  1. 修复了“添加指标”对话框的定位问题。此前,对于部分用户而言,其可能会显示于屏幕边缘。
  2. 修复了交易品种规格中交易时段开始时间的显示问题。
  3. 修复了对象和垂直刻度轴上的双击操作行为问题。现在它会打开属性窗口,并将缩放比例重置为默认值。

27 二月 2026

MetaTrader 5 平台更新 Build 5660:改进和修复

此版本改进了代理服务器的操作。我们增强了对 HTTP 和 SOCKS5 协议的支持,以减少连接错误。不再支持过时的 SOCKS4 协议。

我们还修改了 OpenBLAS 线性代数库操作。它的实现现在以单独的文件形式提供:openblas.dll。

  • 交易终端和测试器可执行文件的大小已减小,有助于您在平台更新期间节省带宽。由于 OpenBLAS 的更新频率要低得多,您不需要每次都下载它。
  • 如果一台计算机上安装了多个平台实例,它们都将使用一个共享库文件。这样可以节省磁盘空间。
  • 如果不使用 OpenBLAS 功能,则不会将库加载到内存中,从而减少资源消耗。

20 二月 2026

新版 MetaTrader 5 平台 Build 5640:MetaEditor 中的暗色主题改进和 Markdown 支持

程序端

  1. 改进了所有组件的暗色主题:交易终端、MetaEditor 和策略测试器。更新了整体背景颜色以及标签和滚动条颜色,以提高可用性和视觉舒适度。


    改进的暗色主题


  2. 修复了在某些情况下可能会中断下载和同步分时报价历史的问题。
  3. 更新了交易工具的基本数据。扩大了支持的交易品种列表,并添加了缺失数据。


    基本数据已更新


  4. 添加了库尔德语界面翻译。
  5. 修复了"编辑框"图形对象的渲染。
  6. 修复了"趋势线"对象的渲染。在某些情况下,如果对象的锚点位于图表柱形的可见范围之外,则不会显示该对象。
  7. 修复了删除自定义交易品种组的问题。

MQL5

  1. 添加了 Color2PRGB 函数。它将 color 类型转换为 uint,从而获得 PRGB 颜色表示。PRGB 格式用于创建图形资源输出文本以及在标准库的 CCanvas 类中使用。
  2. 为向量和矩阵添加了 NormalizeDouble 方法。其工作原理与 double 类型值的标准方法类似。对于复数,实部和虚部分别进行归一化处理。当价格数据应该存储在向量和矩阵中时,这种方法很有用。
  3. 编译器改进:

    • 修复了通过函数指针返回对象的调用。
    • 添加了大偏移常数或负偏移常数的警告。
    • 修复了 matrix<T>::Swap(array<T>&) 方法中的一个问题。
    • 修复了对使用隐式类对象的代码的解析。

MetaEditor

  1. 添加了对查看和编辑 Markdown 文件的支持。Markdown 在许多平台上被广泛用于创建文档和说明,包括 GitHub 和 AlgoForge
    默认情况下,.md 文件在预览模式下打开,为了方便起见,应用了基本样式。要切换到编辑模式,请使用上下文菜单。


    添加了 Markdown 文件的显示和编辑功能


  2. 修复了使用 BOM 以 UTF-8 编码的项目文件 *.mqproj 的处理问题。
  3. 修复了局部变量的自动显示。它们的值不再能从监视列表中删除。

策略测试器

  1. 修复了在测试预付款货币与账户存款货币不同的工具时出现的历史数据同步问题。例如,使用美元或欧元为存款货币测试 CHFJPY 时。现在,测试器可以从经纪商服务器上正确下载所需的交叉汇率。


29 一月 2026

新版 MetaTrader 5 build 5572:ONNX 和图表渲染功能改进

程序端

  1. 修复了在使用 Wine 的 macOSLinux 环境中图表上的文字渲染问题。
  2. 修复了以可变颜色线条显示的指标的绘制。
  3. 修复了文本标签按钮对象的渲染。
  4. 更正了交易报告中某些统计数据的格式,这些数据以前可能会四舍五入错误。
  5. 修订了交易报告中 "总盈利" 和 "总亏损" 的计算方法。这些值现在包括佣金和库存费。
  6. 修复了保存分离的图表工具栏状态的问题。重新启动平台后,隐藏的工具栏可能会重新出现。
  7. 修复了从 JSON 文件加载自定义交易工具设置的问题。特别是,库存费设置、交易时段和价格变动值可能会被错误导入。
  8. 添加了在图表上运行脚本时在窗口标题中显示工具和时间周期的功能。



    添加了在图表上运行脚本时在窗口标题中显示工具和时间周期的功能。


  9. 修复了在市场报价中搜索工具时显示的工具提示中交易工具的重复问题。
  10. 修复了图表上 Wingdings 字体的渲染。
  11. 修复了以彩色烛形(DRAW_COLOR_CANDLES)和彩色线条(DRAW_COLOR_LINE)显示的指标渲染。
  12. 添加了日志信息输出,显示代理服务器正在运行已经过时的版本。如果服务器版本低于六个月前发布的 5200版 则会显示警告:
    过时的服务器 build - 必须至少为 5200 版,请联系您的经纪商
    该消息仅供参考,不影响连接到服务器的能力。
  13. 更新用户界面翻译。

MQL5

  1. ONNX 库现在可在使用 ONNX 的 MQL5 程序首次运行时加载,而不是与平台一起加载。库会自动更新。
  2. 添加了对 ONNX 的 CUDA 支持。如果您的显卡支持这项技术,模型推理性能将得到显著提高。我们强烈建议更新 NVIDIA 驱动程序,以提高稳定性和性能。
    CUDA 使用权限可以在平台设置中管理: 


    在平台设置中管理 CUDA


  3. 更新了 ENUM_ONNX_FLAGS 枚举中的标志。这些标志用于创建执行 ONNX 模型:

    日志
    现在使用以下日志标记来代替已废弃的 ONNX_DEBUG_LOGS:

    • ONNX_LOGLEVEL_VERBOSE —— 记录所有信息。
    • ONNX_LOGLEVEL_INFO —— 记录信息、警告和错误。 取代了已废弃的 ONNX_DEBUG_LOGS。
    • ONNX_LOGLEVEL_WARNING —— 记录警告和错误。默认使用。
    • ONNX_LOGLEVEL_ERROR —— 仅记录错误。

    CUDA 和 GPU 管理
    删除了 ONNX_CUDA_DISABLE 标志。请使用新的 ONNX_USE_CPU_ONLY 标志。启用后,执行模型将仅使用 CPU。

    已添加标记以选择将在其上执行模型的 GPU 设备:

    • ONNX_GPU_DEVICE_0
    • ONNX_GPU_DEVICE_1
    • ONNX_GPU_DEVICE_2
    • ONNX_GPU_DEVICE_3
    • ONNX_GPU_DEVICE_4
    • ONNX_GPU_DEVICE_5
    • ONNX_GPU_DEVICE_6
    • ONNX_GPU_DEVICE_7

    如果系统有两个或更多支持 CUDA 的设备,请使用这些标记。如果指定了多个标志,将选择索引最低的设备。

    模型分析
    我们添加了 ONNX_ENABLE_PROFILING 标志,以启用 ONNX 模型分析

    启用此标记后启动模型时,将在 /MQL5/Files/OnnxProfileReports/ 文件夹中创建名称为 [EX5 文件名]_[日期]_[时间].json 的分析报告文件。

  4. 提高了可作为资源包含在程序中的文件限制。新限制为 1 GB,使您可以在项目中包含大型 ONNX 模型。 
  5. 提高了 OpenCL 操作的稳定性。
  6. 添加了 ReplaceToZero 方法。它用零值替换矩阵/矢量中的小的数值,并返回被替换元素的个数。
  7. 添加了新的 OpenBLAS 方法:

    • FactorizationLDLComplexSyRaw —— 使用 Bunch-Kaufman 对角旋转方法计算复矩阵的分解。
    • LDLComplexSyLinearEquationsSolution —— 使用 FactorizationLDLComplexSyRaw 计算的分解 A = U**T * D * U 或 A = L * D * L**T 求解带有复对称不定矩阵的线性方程组 A * X = B,并有多个右边。
    • LDLComplexSyInverse —— 使用 FactorizationLDLComplexSyRaw 计算的因式分解 A = U**T * D * U 或 A = L * D * L**T 计算复对称不定矩阵的逆。
    • LDLComplexSyCondNumReciprocal —— 使用 FactorizationLDLRaw 计算出的 LDLT 分解,估算实对称或复赫米特不定矩阵 A 的条件数倒数。

  8. 添加了 ColorToPRGB 函数。它将颜色类型转换为 uint,从而得到 PRGB 颜色表示法。该格式用于创建图形资源渲染文本,以及在标准库 CCanvas 类中处理 COLOR_FORMAT_ARGB_RAW 颜色格式时使用。
    uint  ColorToPRGB(
       color  clr,          // the color to be converted, in 'color' format
       uchar  alpha=255     // the alpha channel that controls color transparency
    );
    PRGB 颜色使用以下公式计算:
    R = R * A / 255
    G = G * A / 255
    B = B * A / 255
    A = A
  9. 修复了OBJ_LABELOBJ_TEXTOBJ_BUTTONOBJ_EDIT 对象的程序文本设置。在某些情况下,文本可能不会显示。
  10. 修复了使用 ObjectSetInteger 为图形对象设置颜色的问题。以前可以忽略 clrNONE 值。
  11. 修复了当服务器上没有价格历史记录时 Bars 函数冻结的问题。
  12. 修复了在作用域中搜索全局变量的问题。以前,命名空间内的变量不能使用与全局级变量相同的名称。
  13. 修复了 final 属性的操作。尝试覆盖标记为 "final" 的函数现在会正确地产生编译器错误。
  14. 修复了在未包含 #import 指令的 *.mqh 文件中使用函数前向声明时出现的错误编译器警告。现在,编译器可以正确处理此类声明,如果函数不是从 DLL 导入,则不需要 #import。

    示例

    文件 utils.mqh: 
    // Function forward declaration
    double CalcLot(double risk, double stop);
    文件 expert.mq5:
    #include "utils.mqh"
    
    double CalcLot(double risk, double stop)
      {   
       return risk / stop;
      }
    以前,编译器会发出警告,称 utils.mqh 中的 CalcLot 函数缺少 #import 指令,尽管该函数是用户定义的,并已经在项目代码中实现。现在,此类代码在编译时不会出现警告。只有实际从外部 DLL 导入的函数才需要使用 #import 指令。 

MetaEditor

  1. MetaEditor:修正了处理大型源文件(多兆字节)时出现的内存不足错误。
  2. MetaEditor:修复了调试期间在观察窗口显示枚举值和名称的问题。

测试器

  1. 修复了循环 EA 交易测试的终止问题。即使是无限循环,按下 "停止" 键也会立即停止执行。
  2. 修正了可视化测试期间的 EventChartCustom 调用。以前,该事件可能会被错误地发送两次。
  3. 更正了删除新挂单时的冻结级别检查(SYMBOL_TRADE_FREEZE_LEVEL)。
  4. 修复了前向测试数据的导出。导出不使用前向模式的测试时,有时会保存以前前向测试的数据。

网页端

  1. 在图表上设置止损或止盈时,增加了以货币计算的大致盈亏显示。


    增加了以货币计算的大致盈亏显示


  2. 修复了带有特殊字符的工具的交易品种规格的显示问题。
  3. 更正了交易对话框中负数价格的显示。
  4. 修复了在存款货币精确度大于小数点后两位数的情况下,账户财务指标的显示问题。

17 十月 2025

新版 MetaTrader 5 平台 Build 5370:网页端的改进

网页端

  1. 在工具规格中添加了合约开始和结束日期显示:


    合约开始和结束日期


  2. 修复了 "报价" 部分的价格延迟指示。在移动设备上,相应的图标可能没有在扩展视图模式下出现。


    延迟的报价


  3. 修复了时间周期选择菜单的显示问题。该问题出现在移动设备的横向视图中。
  4. 修复了模拟账户创建窗口中可用账户类型的显示问题。
  5. 修复了账户连接窗口中的本地化问题。有些项目只能以英文显示。

3 十月 2025

MetaTrader 5 平台 build 5326:改进和修复

程序端

  1. 从 MetaTrader 4 迁移后首次连接到帐户时添加了密码长度检查。系统现在可以正确检查新密码的复杂性。
  2. 修正了开启的仓位列表中 "ID "列(外部系统标识符)的显示问题。现在,只有列表中至少有一个操作具有关联的标识符,该列才会出现。

MQL5

  • 解决了为结构和类生成隐式构造函数和复制运算符的问题。在某些情况下,这可能会导致 MQL 程序出现严重故障。


5 九月 2025

新版 MetaTrader 5 平台 Build 5260:Ultency 增强功能和交易请求执行的优化

程序端

  1. 修复了交易品种规范中保证金设置的显示。此前,当使用浮动杠杆(例如,根据账户持仓量计算)时,合约规范中的预付款参数可能会显示不正确。
  2. 修复了允许负数价格的交易品种的订单簿排序。现在,正价、负价和零价的订单均能按正确顺序显示。 
  3. 终端用户指南现在包含一个新部分 “测试器如何下载历史数据”。它总结了理解策略测试器如何处理交易历史所需的关键点。为了确保计算稳定性,测试器始终加载 “启动前历史缓冲区”:
    • D1 及以下 —— 从上一日历年开始。这提供了至少一年的历史记录。示例:如果测试开始日期是 2023 年 3 月 1 日,则终端将从 2022 年 1 月 1 日起下载终端数据。这相当于测试开始前14个月。
    • W1 —— 至少 100 个每周柱形(约 2 年)。
    • MN1 —— 至少 100 个月的柱形(约 8 年)。

    如果可用的历史记录不够,测试器会自动将实际开始日期向前推迟到满足要求的最近点。

    在这种情况下,测试开始的时间将晚于用户指定的日期。测试器日志将显示相关信息,例如:

    start time changed to 2024.03.15 00:00 to provide data at beginning
  4. 添加了终端界面的爱尔兰语翻译。
  5. 更新了用户界面翻译。

MQL5


  1. 矩阵平衡部分添加了五个新的 OpenBLAS 方法,扩展了方阵的功能。新的函数集提供:
    • 矩阵平衡可提高特征值计算的准确性。
    • 特征向量的反向变换。
    • 简化为 Hessenberg 形式和 Schur 分解,包括正交矩阵生成。

    这些方法为开发人员提供了一个完整的转换周期,从初步的矩阵准备到精确稳定的光谱计算。

    这些方法基于 LAPACK 算法(GEBAL、GEBAK、GEHRD、ORGHR、HSEQR),确保高性能和可靠性:

    • MatrixBalance:通过排列行和列并应用对角相似性变换来平衡一般实数或复数矩阵。平衡可以降低矩阵的 1-范数并提高计算的特征值和/或特征向量的准确性(LAPACK 函数为 GEBAL)。
    • EigenVectorsBackward:通过对平衡矩阵的计算特征向量进行反向变换,形成实数或复数通用矩阵的右或左特征向量(LAPACK 函数为 GEBAK)。 
    • ReduceToHessenbergBalanced:通过正交相似变换(LAPACK 函数为 GEHRD)将实数或复数一般平衡矩阵简化为上 Hessenberg 形式。
    • ReflectHessenbergBalancedToQ:生成正交矩阵 Q,其定义为 n 阶基本反射器的乘积,该矩阵是通过约化为 Hessenberg 形式(LAPACK函数为 ORGHR)生成的。
    • EigenHessenbergBalancedSchurQ:根据 Schur 分解计算 Hessenberg 矩阵的特征值以及矩阵 T 和 Z;可选地计算简化为 Hessenberg 形式的输入矩阵的 Schur 因式分解(LAPACK 函数为 HSEQR)。


  2. 特征值部分添加了两个新方法。这两个函数都能在 Schur 分解后高效计算特征向量,从而完善 MQL5 中的全套线性代数工具:

    • EigenVectorsTriangularZ:计算实上拟三角形或复上三角形矩阵(Schur 形式)的特征向量。使用分解 A = Q · T · Qᴴ (LAPACK 函数为 TREVC)。提供高精度。
    • EigenVectorsTriangularZBlocked:用于计算实上准三角形或复上三角形矩阵的特征向量的块版本(LAPACK 函数为 TREVC3)。速度更快但不太精确。


  3. 引入了新的方法隐藏 规则,对继承进行了重要更改

    以前,如果派生类或结构定义了与基类同名的方法,则会执行 重载 :所有版本(来自父类和子类)都可以在派生类中使用。现在,派生类中同名的方法会隐藏基类方法(方法隐藏)。

    要调用隐藏基类方法,必须在调用时明确指定其作用域:
    class Base
      {
    public: 
       void Print(int x)   { ::Print("Base int: ", x); }
       void Print(double y){ ::Print("Base double: ", y); }
      };
    
    class Derived : public Base
      {
    public:
       void Print(string s){ ::Print("Derived string: ", s); }
      };
    
    void OnStart()
      {
       Derived d;
       d.Print("text");    // call of Derived::Print(string)
       d.Print(10);        // ATTENTION! Calling Derived::Print(string) since Base::Print is hidden (inaccessible)
       d.Base::Print(10);  // explicit call to hidden parent method
      }
    在一段时间内,如果隐藏的基方法比可用的派生方法更适合调用参数,MQL5 编译器将发出警告。上述代码的示例 d.Print(10):
    由于新的方法隐藏规则,调用解析为 “void Derived::Print(string)” 而不是 “void Base::Print(int)”
       参见函数 “Derived::Print” 的声明
       参见函数 “Base::Print” 的声明
    从“数字”到“字符串”的隐式转换

  4. 添加了用于恢复基类方法重载的 using 运算符。

    为了控制新行为,MQL5 引入了 “using” 运算符。它允许您将方法的所有重载从基类型“拉”到类或结构的作用域 中:
    class Base
      {
    protected:
       void Print(int x)   { ::Print("Base int: ", x); }
       void Print(double y){ ::Print("Base double: ", y); }
      };
    
    class Derived : public Base
      {
    public:
       void Print(string s){ ::Print("Derived string: ", s); }
       using Base::Print;  // return Print overloads from Base
      };
    
    void OnStart()
      {
       Derived d;
       d.Print("text");   // Derived::Print(string)
       d.Print(42);       // Base::Print(int)
       d.Print(3.14);     // Base::Print(double)
      }
    如果删除了 “using Base::Print;”,则对 d.Print(42) 和 d.Print(3.14) 的调用将不可用;仅会保留 Derived::Print(string)。

    此外,在此示例中,您可以看到基类中的受保护方法在派生类中变得可访问(它们的可见性从受保护变为公有)。

    这为开发人员提供了对类层次结构的更灵活和可预测的控制,使他们能够精确地定义哪些基类方法重载应在派生类型中保持可访问性。

MetaEditor

  1. 加速了 Algo Forge 中 Git 操作的 SHA-1 哈希计算。批量操作的性能提升超过 40%。
  2. 修复了 Git 操作的文件修改检查。如果只有修改时间发生了变化,但文件内容保持不变,则文件不再被视为已修改。这消除了错误检测,并防止了与远程存储库的冲突。

Algo Forge


已发布 MQL5 Algo Forge 用户指南。它突出了 Git 的所有关键优势,而没有不必要的复杂性:
  • 可靠的版本历史存储和分支,
  • 快速实验和安全合并更改,
  • 一键创建自己的存储库或分支其他开发人员的项目,
  • 透明的团队协作,跟踪贡献,
  • 开放项目目录,提供向他人学习的机会。


    克隆另一个开发人员的项目
    forge.mql5.io 上打开要克隆的项目,然后单击派生。输入派生的名称和描述并保存。


    Algo Forge 中的分支命令

    在 MetaEditor 中,使用相同的 MQL5 帐户,在导航器中运行刷新命令。您的分支将出现在 Shared Projects 文件夹中。使用 Git Clone从 Algo Forge 下载它。您不仅会收到项目文件,还会收到其完整的提交历史记录和所有分支。这意味着您可以继续进行分支工作,同时仍然拥有克隆项目的整个历史。

    Algo Forge 中的克隆命令


网页端

  1. 修复了交易品种规范中交易和报价时段的显示。
  2. 修复了交易品种规范中预付款设置的显示。
  3. 修复了交易品种规范中交易和报价时段的显示。
  4. 增加了对 竞赛 账户类型的支持。此类账户显示为蓝色,而模拟账户显示为绿色。
  5. 修复了特定条件下浮动杠杆 预付款计算的精度。 
  6. 修复了开设新账户时“下一步”按钮有时无法进入下一步的问题。
  7. 修复了无法在交易所执行的买入价和卖出价之间下限价订单的问题。
  8. 修复了订单执行价格的显示。一旦订单被发送,其执行结果就会出现在窗口中:成功的交易操作或未执行的原因。在某些情况下,执行价格被错误地显示为 “0”。
  9. 修复了快速平仓按钮不显示的问题。

    快速平仓

  10. 修复了账户选择窗口中交易账户货币的显示。



31 七月 2025

新版 MetaTrader 5 平台 Build 5200:在 MQL5 中扩展的 OpenBLAS 支持和增强的控制

客户端

  1. 增加了根据 Windows 设置自动应用浅色或深色主题的功能。要启用此功能,请选择新选项:查看 \ 颜色主题 \ 系统。每次平台启动时,它都会检测到您的系统主题并相应地进行调整。


    已添加根据 Windows 设置自动应用浅色或深色主题的功能


  2. 修正了工具栏从主窗口分离时的显示问题。
  3. 修正了资产部分的投资组合清算价值计算。在某些情况下,某些工具的头寸没有被考虑在内。
  4. 修正了市场深度中显示负数价格的问题。现在已正确处理。
  5. 修正了价格历史导入到自定义交易品种中的问题。对于位于根文件夹中的工具,以前可能无法使用相应的命令。
  6. 更新用户界面翻译。

MQL5

  1. 添加了新的 OpenBLAS 方法:

    矩阵简化

    • ReduceToHessenberg —— 通过正交相似变换将实数或复数一般 n 乘 n 矩阵 A 还原为上海森堡形式 B:Q**T * A * Q = H。LAPACK 函数为 GEHRD.
    • 生成正交矩阵 Q,其定义为 n 阶 n-1 个基本反射器的乘积,由 ReduceToHessenberg 返回:Q = H(1) H(2) .. .H(n-1)。 LAPACK 函数为 ORGHR.

    特征值和特征向量

    • EigenHessenbergSchurQ —— 从舒尔分解 H = Z T Z**T 计算海森堡矩阵 H 的特征值以及矩阵 T 和 Z,其中 T 是上准三角形矩阵(舒尔形式),Z 是舒尔向量的正交矩阵。LAPACK 函数为 HSEQR.

    线性方程

    • SylvesterEquationTriangular —— 求解实数准三角形或复三角形矩阵的 Sylvester 方程:op(A)*X + X*op(B) = scale*C 或 op(A)*X - X*op(B) = scale*C 其中 op(A) = A 或 A**T 或 A**H,且 A 和 B 均为上三角形。LAPACK 函数为 TRSYL.
    • SylvesterEquationTriangularBlocked —— 求解实数准三角形或复三角形矩阵的 Sylvester 方程:op(A)*X + X*op(B) = scale*C 或 op(A)*X - X*op(B) = scale*C 其中 op(A) = A 或 A**T 或 A**H,且 A 和 B 均为上三角形。LAPACK 函数为 TRSYL3.这是 TRSYL 的块(BLAS 级别 3)版本。速度快达 5 倍,但不太精确。

    因子计算

    • SylvesterEquationSchur —— 求解实拟三角形或复三角形矩阵的西尔维斯特方程:A*X + X*B = C,其中 A 和 B 都是上三角。A 是 m 乘 m,B 是 n 乘 n;右边 C 和解 X 都是 m 乘 n。LAPACK 函数为 TRSYL.
    • SylvesterEEquationSchurBlocked —— 求解实拟三角形或复三角形矩阵的西尔维斯特方程:A*X + X*B = C,其中 A 和 B 都是上三角。A 是 m 乘 m,B 是 n 乘 n;右边 C 和解 X 都是 m 乘 n。LAPACK 函数为 TRSYL3.这是 TRSYL 的块(BLAS 级别 3)版本。速度快达 5 倍,但不太精确。

    矩阵范数计算

    • MatrixNorm —— 返回一般矩形矩阵中 1-范数、无穷范数、弗罗贝尼斯范数的值或任何元素的最大绝对值。LAPACK 函数为 LANGE。
    • MatrixNormGeTrid —— 返回一般三对角矩阵中任意元素的 1-范数、无穷范数、弗罗贝尼斯范数或最大绝对值。LAPACK 函数为 LANGT。
    • MatrixNormHessenberg —— 返回上海森堡矩阵中任何元素的 1-范数、无穷范数、弗罗贝尼斯范数或最大绝对值。LAPACK 函数为 LANHS。
    • MatrixNormSy —— 返回实对称矩阵或复赫米提矩阵中任何元素的 1-范数、无穷范数、弗罗贝尼斯范数或最大绝对值。LAPACK 函数为 LANSY,LANHE。
    • MatrixNormComplexSy —— 返回复对称(非赫米特)矩阵中任何元素的 1-范数、无穷范数、弗罗贝尼斯范数或最大绝对值。LAPACK 函数为 LANSY。
    • MatrixNormSyTrid —— 返回实对称或复赫米特三对角矩阵中任何元素的 1-范数、无穷范数、弗罗贝尼斯范数或最大绝对值。LAPACK 函数为 LANST、LANHT。
    • MatrixNormTriangular —— 返回梯形 m 乘 n 矩阵或三角形矩阵中任意元素的 1-范数、无穷范数、弗罗贝尼斯范数或最大绝对值。LAPACK 函数为 LANTR。

    矩阵分类

    • IsSymmetric —— 检查方块矩阵是否对称。
    • IsHermitian —— 检查方块复矩阵是否为赫米特矩阵。
    • IsUpperTriangular —— 检查方块矩阵是否为上三角矩阵。
    • IsLowerTriangular —— 检查方块矩阵是否为下三角矩阵。
    • IsTrapezoidal —— 检查 m 乘 n 矩形(非方块)矩阵是上梯形还是下梯形矩阵。
    • IsUpperHessenberg —— 检查方块矩阵是否为上海森堡矩阵。
    • IsLowerHessenberg —— 检查方块矩阵是否为下海森伯矩阵。
    • IsTridiagonal —— 检查方块矩阵是否为三对角矩阵。
    • IsUpperBidiagonal —— 检查方块形矩阵是否为上对角线矩阵。
    • IsLowerBidiagonal —— 检查方块矩阵是否为下对角线矩阵。
    • IsDiagonal —— 检查方块矩阵是否对角矩阵。
    • IsScalar —— 检查方块矩阵是否为标量矩阵。

  2. 添加了复数矩阵和向量的共轭方法。此方法更改复数虚部的符号,并返回修改后的矩阵或向量。
  3. 强化方法隐藏规则。当派生类包含与基类中同名的方法时,默认情况下会调用派生类版本。要显式调用基类方法,现在需要一个限定符:
    struct A
      {
       int y;
      
       string func(double x)
         {
          return(__FUNCSIG__);
         }
      };
      
    struct B : public A
      {
       string func(int x)   // the method hides A::func
         {
          return(__FUNCSIG__);
         }
      };
      
    void OnStart(void)
      {
       B b;
       b.func(M_PI);          // according to new rules, it is a call to B::func
       b.A::func(M_PI);       // call the hidden method A::func
      }
    此更改简化了代码的可读性,消除了以前只伴随编译器警告的歧义。

    以前,编译程序会发出警告:
    不推荐的行为,隐藏方法调用将在未来的 MQL 编译器版本中禁用
    这一变更现已生效。

    对于许多版本,如果根据参数有更合适的隐藏方法可用,日志中仍会出现警告:
    由于方法隐藏的新规则,调用解析为 "string B::func(int)",而不是 "string A::func(double)"。
       参见函数 "B::func "的声明
       参见函数 "A::func "的声明
    将常量值从 "double(3.141592653589793) "截断为 "int(3)
  4. 现在禁止在同一范围内使用重复名称。例如,以前可以在单个文件中声明具有相同名称的输入参数和函数。这种重复已不再允许:
    input int somename=42;
    
    int somename(int x)
      {
       return(42);
      }
  5. 为枚举中的默认值添加了严格的类型检查。对于接受枚举的函数参数,现在不仅值必须匹配,确切类型也必须匹配:
    int somename(ENUM_TIMEFRAMES TF=PERIOD_CURRENT);
    
    int somename(ENUM_TIMEFRAMES TF=0)   // error, type mismatch for the default parameter value, despite having the same value
      {
       return(42);
      }
  6. 现在禁止在不同的枚举中使用相同的标识符。在一个枚举中声明的标识符不能再在同一作用域内的另一个中重用:
    enum A
      {
       Value
      };
      
    enum B
      {
       Value  // error, name 'Value' is already used in enumeration A
      };
      
    void OnStart(void)
      {
       enum C
         {
          Value // OK, 'Value' is not used within the OnStart scope
         };
      }
    匹配的名称可在不同的作用域中使用。

  7. 对模板初始化器函数引入了更严格的要求。使用初始化器函数创建矩阵/向量时,以下功能现已禁用:

    • 模板函数中的自动类型推断
    • 默认参数值

    现在必须明确指定所有模板参数和自变量: 
    template<typename T>
    void Initializer(matrix<T>& mat,int method=0);
    
    matrix<double> A(10,10,Initializer,42);          // error, Initializer must be explicitly typed
    matrix<double> A(10,10,Initializer<double>);     // error, missing 'method' parameter (default values no longer supported)
    matrix<double> A(10,10,Initializer<double>,42);  // OK
  8. 改进了 ONNX 支持。将 ulong 数组传递给函数时,添加了有符号类型的隐式转换,从而简化了 MQL5 与 ONNX 模型的集成。
    OnnxSetInputShape( ... , ulong_array );
    OnnxSetOutputShape( ... , ulong_array );
  9. 修正了编译器警告中与隐式字符串转换相关的类型显示问题。
  10. 更新了 Python 集成包。要安装更新,请运行以下命令:
    pip install --upgrade MetaTrader5

MetaEditor

  1. 修正了与 MQL5 Storage 一起使用的 "恢复到修订版" 命令。现在,在还原操作开始之前,会执行还原操作期间可能发生的版本之间的冲突评估。如果无法恢复,则取消操作。
  2. 更新用户界面翻译。

Tester

  1. 修正了采用交易所计算模式的账户的 OrderCalcMargin 函数。
  2. 修复了多币种 EA 交易系统可视化测试期间的图表切换问题。

网页端

  1. 修正了模拟和初始账户注册时的电子邮件验证问题。在某些情况下,确认码的输入字段未显示。
  2. 修正了在华为设备上使用浏览器时的账户连接问题。
  3. 修正了使用一次性密码时与账户的连接问题。在某些情况下,OTP 的输入字段在第一次登录尝试时丢失。

27 六月 2025

适用于 iPhone/iPad 的新版 MetaTrader 5:交易报告和额外的指标

最新版本的 MetaTrader 5 iOS 移动应用程序推出了一系列新功能,旨在帮助交易者随时随地了解金融市场。

  1. 添加了以方便的可视化格式表示交易结果的报告。它有助于评估交易表现,优化投资组合,找到降低风险和提高交易稳定性的方法。要分析您的策略,请转到历史记录部分并点击时段选择图标。接下来,选择时间段并点击“创建交易报告”。


    新的交易报告


    报告分为多个选项卡,每个选项卡都提供汇总信息:

    • 摘要 — 一段时间的交易概况:总体盈亏指标、出入金金额、结余、增长和红利图表以及其他交易结果。
    • 盈利/亏损 — 有关盈利和亏损交易的数据。参数按交易类型(手动交易、算法交易和复制交易)划分。结果可以从交易或资金的角度,按月份和年份进行分析。
    • 买入持仓/卖出持仓 - 指定时间段的动态买卖比率,以及买入和卖出的盈利能力。
    • 交易品种 - 按交易品种分析交易。在这里,您可以看到您在哪些交易品种上盈利或亏损、交易频率、交易图表以及货币量。
    • 风险 — 策略的主要风险特征:回撤和资金负载图表,以及盈利和亏损交易的比例。

  2. 添加了 ZigZag市场概况指标,以及新图表类型 — 平均 K 线图(Heikin-Ashi)。这些工具将增强市场分析和趋势识别。

    要添加新指标,请打开图表菜单,点击主窗口,然后从列表中选择它们。ZigZag 属于趋势指标,而市场概况属于成交量指标。


    市场概况和 ZigZag 指标


    要查看平均 K 线图,请点击图表并访问设置。


    平均 K 线图


  3. 已将交易信息添加到数据窗口。当将十字线悬停在包含交易的柱形上时,数据窗口将显示有关交易的一般信息:方向、编号、交易量、价格和财务结果,以及价格和指标值。


    增强的数据窗口


  4. 添加了在图表上显示数据窗口的快速模式。点击并按住主图表一秒钟以上,即可启用十字线模式以及数据窗口。一旦松开手指,图表就会返回正常模式。这样就可以快速查看柱形、指标和交易的确切值,而无需通过顶部面板切换到十字准线模式。
  5. 添加了一个单独的命令,用于调整其他指标窗口的大小和重新排序。长按图表上的指标子窗口可以执行相同的操作。此外,为了清晰起见,改进了子窗口编辑模式本身,增加了图标。


    用于调整指标子窗口大小和重新排序的新命令


  6. 优化了图表上的交易历史显示。应用程序现在可以显示数千笔交易,而不会显著降低性能。


安装最新版本的应用程序,解锁更多交易功能:



12 六月 2025

MetaTrader 5 平台更新 build 5120:改进和修复

程序端

  1. 修复了在 LinuxmacOS 上运行时的图形界面显示问题。
  2. 改进了平台更新机制。在更新过程中,MQL5 标准库将不再被完全覆盖,只有实际更改的文件才会被替换。
  3. 添加了应用程序重启时全屏视图模式的自动重置。现在,每次启动时都会显示完整的界面。

MQL5

  1. 在以下函数中启用了有符号/无符号类型转换的数组传递:

    • ArraySwap
    • WebRequest
    • CryptEncode
    • CryptDecode
    • StringToCharArray
    • CharArrayToString
    • StringToShortArray
    • ShortArrayToString
    • StructToCharArray
    • CharArrayToStruct

  2. 修复了使用 TerminalInfoInteger 函数获取活动图表上 MQL 程序按键状态的问题。
  3. 修复了针对枚举数组的 ArrayInitialize 函数操作。

MetaEditor

  1. 更新了 AI Assistant 编码助手的可用模型。现在支持所有 GPT-4.1 和 04-mini 模型。
  2. MQL5 存储中启用严格的文件状态验证。现在会检查文件哈希值,以防止错误提示。以前,与存储库版本相比没有实际本地更改的文件可能会被错误地标记为红色图标。
  3. 更新了用户界面的翻译。

6 六月 2025

新版 MetaTrader 5 平台 Build 5100:过渡到 Git 和 MQL5 Algo Forge 开发者中心、深色主题和界面改进

MetaEditor

  • 我们全面修订了 MQL5 Storage,用 Git 取代了 Subversion 作为版本控制系统。Git 是开发人员的全球标准,在代码管理方面提供了增强的可靠性和灵活性。

    • 灵活的分支和合并 — 为新功能或实验创建单独的分支,并将其轻松合并到主项目版本中。
    • 更快的存储库操作 — 与 Subversion 不同,Git 将所有数据存储在本地,大大加快了提交、版本切换和更改比较的速度。
    • 离线工作能力 — 无需持续的服务器连接:在本地提交更改,并在方便的时候将其推送到在线存储库。
    • 高级更改跟踪 — 轻松查看版本历史记录,跟踪带有时间戳和作者的修改,并恢复到以前的版本,而不会出现任何问题。
    • 卓越的合并功能 — 先进的比较和合并工具有助于最大限度地减少冲突,简化协作开发。

    协作开发迈上新台阶
    随着向 Git 的过渡,我们将推出 MQL5 Algo Forge,这是一个新的在线项目管理门户。它不仅仅是一个项目列表,它是一个面向开发人员的成熟社交网络 — 本质上,它是面向算法交易者的 GitHub。关注有兴趣的开发者,创建团队,轻松地在项目上进行协作。




    查看项目详细信息:结构、文件、提交、分支等。跟踪个人贡献、创建文档和在线共享项目。




    监控所有代码更改:检测新的、修改的和删除的代码行。如果出现问题,直接在项目中向开发人员分配任务。




    为了提高 Git 的可用性,我们重新设计了导航器和活动代码编辑窗口。我们还在 MetaEditor 工具栏上引入了一个专用的 Git 菜单:




    全面的 Git 文档即将发布。

程序端

  1. 为所有组件添加了对深色方案的支持,包括交易终端、MetaEditor 和可视化测试器。深色主题可在夜间提供更舒适的开发体验。使用 "查看" 菜单进行切换:




    在调整界面以支持不同主题的同时,我们还对对话框、菜单、面板和按钮的显示方式进行了大量改进,以提供更舒适的用户体验。在 MetaEditor 中,光标位置信息和文本输入模式指示器(INS/OVR)现在显示在右上角。取消了底部状态栏,以节省工作空间。

  2. 新增 12 个月 VPS 租赁选项。通过提前购买长期托管服务,您可以节省三分之一的总成本。




  3. 优化了内存使用。终端现在消耗更少的系统资源,从而提高了性能。
  4. 优化了账户交易历史的显示。平台现在可以正确显示数百万条记录。
  5. 在 "窗口" 菜单中添加了 "重置为默认" 命令。它可将所有界面元素,包括图表、导航器、策略测试器等,重置到原来的位置。
  6. 修正了导致仓位修改对话框在某些情况下冻结的错误。
  7. 修正了含有负价格未平仓位的数值计算。
  8. 修正了保证金率计算在交易品种规格为负价格时的问题。
  9. 修正了当前 MFE 和 MAE 值的计算,并在交易报告中显示其图表。
  10. 修正了图表子窗口中振荡器的缩放比例。振荡器的垂直缩放现在显示正确。
  11. 修正了全屏模式切换时订单簿和选项板的可见性问题。
  12. 账户交易历史中增加了仓位编号显示。使用快捷菜单启用相关列。
  13. 修正了期货和期权 "风险 "选项卡上的清算值计算。
  14. 修正了将新建账户数据复制到剪贴板的问题。在模拟或初步账户注册的最后一步,用户将获得账户详细信息:登录名、密码等。这些内容可以复制到剪贴板,保存到单独的文件中。相应的命令现在可以在 macOS 上正常运行。
  15. 修正了 VPS 日志部分的显示。在某些情况下,页面可能会显示错误。
  16. 修正了 Linux 上 HiDPI 显示器支持的问题。
  17. 更新用户界面的翻译。

MQL5

  1. 添加了矩阵乘法运算符 @。它遵循线性代数规则,允许矩阵和向量的乘法,以及向量的标量(点)积。

    矩阵乘法(矩阵 × 矩阵)
    matrix A(2, 3);
    matrix B(3, 2);
    matrix C = A @ B; // Result: Matrix C of size [2,2]
    矩阵乘法(矩阵 × 向量)
    matrix M(2, 3);
    vector V(3);
    vector R = M @ V; // Result: Vector R of 2 elements
    矩阵乘法(向量 x 矩阵)
    matrix M(2, 3);
    vector V(1, 2);
    vector R = V @ M; // Result: Vector R of 3 elements
    标量乘法(向量 × 向量)
    vector V1(1, 3), V2(1, 3);
    double r = V1 @ V2; // Result: Scalar
  2. StdVarCov 方法中添加了 "ddof" 参数。此参数定义了计算标准偏差时从分母中减去的自由度数。对于 Std 和 Var,默认参数是 0,对于 Cov,默认参数为 1。

    ddof 如何影响计算:

    • 默认情况下,ddof=0,表示计算总体标准偏差。
    • 如果 ddof=1,则该函数计算样本标准偏差,该偏差根据有限样本大小进行调整,这在分析数据子集时通常用于统计学。

  3. 添加了新的 OpenBLAS 方法:

    特征值和特征向量

    • EigenTridiagonal DC — 使用分治算法(LAPACK 函数为 STEVD)计算对称三对角矩阵的特征值和特征向量。
    • EigenTridiagonalQR — 使用 QR 算法(LAPACK 函数为 STEV)计算对称三对角矩阵的特征值和特征向量。
    • EigenTridiagonalRobust — 使用MRRR(多相对鲁棒表示)算法(LAPACK 函数为 STEVR)计算对称三对角矩阵的特征值和特征向量。
    • EigenTridiagonalBisect — 使用二分法(LAPACK 函数为 STEVX)计算对称三对角矩阵的特征值和特征向量。
    • ReduceToBidiagonal — 通过正交变换将一般实数或复数 m 乘 n 矩阵 A 简化为上或下双对角形式 B:Q**T * A * P = B。如果 m≥n,则 B 为上双对角矩阵;否则,B 为下双对角矩阵。(LAPACK 函数为 GEBRD)。
    • ReflectBidiagonalToQP — 将实数或复数矩阵 A 还原为对角线形式时,生成由 ReduceToBidiagonal 方法确定的正交矩阵 Q 和 P**T(或复数类型的 P**H):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 阶 n-1 个基本反射器的乘积,由 ReduceSymmetricToTridiagonal 返回。

    • LinearEquationsSolution — 计算具有平方系数矩阵 A 和多个右手系线性方程组的解。
    • LinearEquationsSolutionTriangular — 计算具有正三角形系数矩阵 A 和多个右手系线性方程组的解。
    • LinearEquationsSolutionSy — 计算具有对称或赫米梯共轭矩阵 A 和多个右手系线性方程组的解。
    • LinearEquationsSolutionComplexSy — 计算具有复对称矩阵 A 和多个右手系线性方程组的解。
    • LinearEquationsSolutionGeTrid — 计算具有对称或赫米特共轭正定矩阵 A 和多个右手系线性方程组的解。
    • LinearEquationsSolutionSyPD — 计算具有一般(非对称)三对角系数矩阵 A 和多个右手系线性方程组的解。
    • LinearEquationsSolutionSyTridPD — 计算具有对称三对角正定系数矩阵 A 和多个右手系线性方程组的解。
    • FactorizationQR — 计算一般 m×n 矩阵的 QR 分解:A = Q * R(LAPACK 函数为 GEQRF)。
    • FactorizationQRNonNeg — 计算 m×n 矩阵的 QR 分解:A = Q * R,其中 R 是对角线项为非负的上三角矩阵(LAPACK 函数为 GEQRFP)。
    • FactorizationQRPivot - 计算一般 m-by-n 矩阵的 QR 分解,并进行列透视:A * P = Q * R(LAPACK 函数为 GEQP3)。
    • FactorizationLQ — 计算一般 m×n 矩阵的 LQ 分解:A = L * Q(LAPACK 函数为 GELQF)。
    • FactorizationQL — 计算一般 m×n 矩阵的 QL 分解:A = Q * L(LAPACK 函数为 GEQLF)。
    • FactorizationRQ — 计算一般 m×n 矩阵的 RQ 分解:A = R * Q(LAPACK 函数为 GERQF)。
    • FactorizationPLU — 对 M 乘 N 的普通矩阵 A 进行 LU 因式分解,计算时使用部分透视和行间交换(LAPACK 函数为 GETRF)。
    • FactorizationPLUGeTrid — 使用带部分透视和行交换的消元法(LAPACK 函数为 GTTRF)计算一般(非对称)N 乘 N 三对角矩阵 A 的 LU 因式分解。
    • FactorizationLDL — 使用 Bunch-Kaufman 对角透视法(LAPACK 函数为 SYTRF 和 HETRF)计算实对称或复赫米特矩阵 A 的因式分解。
    • FactorizationLDLSyTridPD — 计算对称正定三对角矩阵 A 的因式分解(LAPACK 函数为 PTTRF)。
    • FactorizationCholesky — 计算实对称或复赫米特正定矩阵 A 的因式分解(LAPACK 函数为 POTRF)。
    • FactorizationCholeskySyPS — 计算实对称(复赫米特)正半定 n-by-n 矩阵(LAPACK 函数为 PSTRF)的带完全透视的 Cholesky 因式分解。

  4. 添加了 Random 函数和方法,用于用随机值填充向量和矩阵。随机值在指定范围内均匀生成。
    static vector vector::Random(
      const ulong   size,       // vector length
      const double  min=0.0,    // min value
      const double  max=1.0     // max value
       );
    
    static matrix matrix::Random(
      const ulong   rows,       // number of rows
      const ulong   cols        // number of columns
      const float   min=0.0,    // min value
      const float   max=1.0     // max value
       );
  5. 添加了对整数类型其它别名的支持。这将简化从 C 和 C++ 等其他语言的代码移植。

    这些别名不会引入新类型,而是为 MQL5 中的现有类型提供替代名称。它们可以在基础类型适用的所有环境中使用。

    • int8_t
    • uint8_t
    • int16_t
    • uint16_t
    • int32_t
    • uint32_t
    • int64_t
    • uint64_t

  6. 添加了用于检测终端配色方案的新函数:


    要检测配色方案的变化,请使用 OnChartEvent 处理函数。当主题改变时,CHARTEVENT_CHART_CHANGE 事件会被触发两次。

  7. 修正了编译包含 Array::Reserve 方法的代码时导致 MetaEditor 崩溃的错误。"Reserve" 方法不会改变数组大小,但会为指定数量的元素保留空间,以防止在添加新元素时重新分配内存。
  8. 修正了 Array::Push 方法的行为,该方法用于在数组末尾添加新元素。该问题出现在具有预分配缓冲区空间的数组中。
  9. 解决了与 OpenCL 协同工作的函数问题。

MetaTester

  1. 加速了交易策略的优化
  2. 修正了一个 Bug,在某些情况下,该 Bug 会导致测试器代理在执行来自 MQL5 云网络的任务时占用过多内存。

网页端

  1. 修正了账户连接对话框中的密码保存选项。
  2. 修正了图表移动按钮。在某些情况下,使用这些按钮会导致图表消失。
  3. 更正了真实账户注册表中 “中间名” 字段的验证。现在它是可选的。
  4. 修复开设模拟账户的问题。在某些情况下,用户被错误地重定向到经纪商的网站。
  5. 修正了开设模拟账户和真实账户按钮的可见性。如果经纪商禁用了相应功能,这些按钮现在将被隐藏。
  6. 修正了模拟账户开户表单中 "存款" 字段的行为。
  7. 修正了合同规范中 "交易" 字段的显示问题。
  8. 修正了 "市场报价" 窗口中的交易品质搜索栏。现在,"X" 按钮会正确显示,用于退出搜索模式。
  9. 修正了账户开设表单中电子邮件确认代码字段的工具提示显示问题。

13 十二月 2024

MetaTrader 5 平台 Build 4755:总体改进 此更新修复了策略测试器中计算三倍库存费时出现的错误,该错误会在某些测试条件组合下发生。此外,还实现了一些小的改进和修复,以进一步提高平台的稳定性。

6 十二月 2024

MetaTrader 5 平台 Build 4730:扩展 OpenBLAS 支持和总体性能优化

程序端

  1. 更改了仓位、订单和交易值的计算方法。该值现在以账户存款货币而不是交易品种的基准货币显示:


    仓位、订单和交易的价值现在以账户存款货币显示

  2. 添加了在开设模拟账户时输入出生日期的字段。


    添加了在开设模拟账户时输入出生日期的字段


  3. 修复了图表子窗口中显示的指标缩放比例。对于某些振荡指标,以前可能会错误地选择最小和最大缩放值。
  4. 优化并加快了分时报价数据和历史价格的解包,这将提高图表加载速度。
  5. 修复了内部电子邮件撰写窗口中的文本颜色编辑功能。
  6. 更新了用户界面翻译。

MQL5

  1. 添加了新的 OpenBLAS 方法:

    • EigenSolver2 - 计算一对普通方阵的广义特征值和特征向量(lapack 函数为 GGEV)。
    • EigenSolverX - 在专家模式下计算正方形矩阵的特征值和特征向量,即能够影响计算算法并获取相应的计算数据(lapack 函数为 GEEVX)。
    • EigenSolver2X - 在专家模式下计算一对正方形矩阵的特征值和特征向量,即能够影响计算算法并获取相应的计算数据(lapack 函数为 GGEVX)。
    • EigenSolverShur - 计算特征值、舒尔形式的上三角矩阵和舒尔向量矩阵(lapack 函数为 GEES)。
    • EigenSolver2Shur - 计算一对正方形矩阵的特征值、广义特征向量、广义舒尔形式以及左右舒尔向量(lapack 函数为 GGES)。
    • EigenSolver2Blocked - 使用分块算法(lapack 函数为 GGEV3)计算一对正方形矩阵的广义特征值和特征向量。
    • EigenSolver2ShurBlocked - 对于一对正方形矩阵,使用分块算法计算特征值、广义特征向量、广义舒尔形式以及左右舒尔向量(lapack 函数为 GGES3)。
    • EigenSymmetricRobust - 使用多重相对稳健表示、MRRR 算法计算对称或厄米特(复共轭)矩阵的特征值和特征向量(lapack 函数为 SYEVR、HEEVR)。
    • EigenSymmetricBisect - 使用分段算法计算对称或厄米特(复共轭)矩阵的特征值和特征向量(lapack 函数 SYEVX、HEEVX)。

  2. 复数矩阵添加了新方法:

    • TransposeConjugate - 创建共轭变换矩阵。
      matrix<complex<T>> matrix<complex<T>>::TransposeConjugate(void) const;
      该方法返回一个新的共轭变换矩阵,其中原始矩阵的元素被转置并转换为它们的复共轭。

      如果出现错误,则返回空矩阵。使用 GetLastError 函数获取错误代码。

    • CompareEqual - 两个矩阵的绝对比较。
      int matrix<T>::CompareEqual(const matrix<T>& mat) const
      返回值为:

      • -1 - 如果矩阵 A 的元素小于矩阵 B 的对应元素。
      • 0 - 如果矩阵 A 和 B 的所有元素都相同。
      • 1 - 如果矩阵 A 的元素大于矩阵 B 的对应元素。

      如果输入数据无效,该方法也会返回错误。要获取错误代码,请使用 GetLastError 函数。

  3. 为相应的集成包添加了 Python 支持(最高版本 3.13)。要更新软件包,请运行以下命令:

    pip install --upgrade MetaTrader5

  4. 修复了跳过第一个计时器事件的问题。如果在OnTimer处理函数中启动了计时器,则发生错误。

MetaEditor

  • 修正了调试器模式下输入变量值的计算。在某些情况下,显示的不是值,而是 "未知标识符" 的信息。

Tester

  • 修正了在使用汇率工具测试应用程序时搜索货币转换所需交叉汇率的问题。

网页端

  1. 添加了对大额订单请求执行类型的支持。
  2. 添加了对经纪商拒绝请求原因的扩展描述支持。
  3. 修复了账户开户表格。现在会根据经纪商设置要求提供信息。
  4. 修复了注册模拟账户时的国家检测问题。
  5. 修正了显示一键交易警告的对话框中的对齐方式。

11 十月 2024

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

程序端

  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

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

4 十月 2024

MetaTrader 5 平台 build 4585:性能改进

程序端

  • 修复了停止 MQL5 程序 分析 时在某些条件下可能发生的崩溃。

MetaEditor

MetaTester

  • 修复了重新运行单次测试时在某些条件下发生的崩溃。

27 九月 2024

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

客户端

  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. 修复了一键式交易面板上的买入和卖出按钮在改变交易量之前可能无法使用的错误。

21 六月 2024

MetaTrader 5平台build 4410:性能改进 MetaTrader 5平台build 4410:性能改进

我们已发布MetaTrader 5 build 4410,其中包含几项重要更新。基于云的策略测试器已更新,以消除启动测试过程时某些用户可能关闭程序端的情况。现在,网页端更加稳定,修复了浏览器兼容性检查和模拟账户开设流程。

客户端

  • 修正程序端崩溃问题,在某些情况下,启动测试时可能会发生程序端崩溃。

MQL5

网页端

  1. 修正浏览器与网页端兼容性的验证问题。在某些情况下,用户可能会错误地收到一条显示其浏览器不支持的信息。
  2. 修复开设模拟账户的问题。
  3. 其他小问题的修正和改进。

更新将通过实时更新系统提供。

MetaTrader 5 Android

  1. 完全重新设计了平板电脑版本的界面。现在,新界面采用了更现代设计,这已经在平台的iOS移动版和网页端上得到验证。现在主要版块位于屏幕底部,图表操作命令位于屏幕左侧。




  2. 持仓历史部分添加快捷菜单,可快速访问相应交易品种的交易对话框或图表。
  3. 隐藏切换到交易品种(不可交易)的对话框的命令。
  4. 修复MetaQuotes-Demo服务器的运行问题。

通过Google Play华为 AppGallery或下载APK文件更新手机应用程序。

7 六月 2024

MetaTrader 5平台build 4380:性能改进

程序端

  1. 修正在某些情况下可能导致实时更新系统无法正常运行的错误。
  2. 添加新热键Alt+X,用于打开EA交易列表。
  3. 修正崩溃日志中的错误报告。

MetaTester

  1. 修正设置位图图形对象的某些属性时出现的错误。
  2. 当在虚拟环境中操作且处理器不支持AVX指令集时,现在禁止测试代理连接到MQL5云网络

网页端

  1. 修正图表上一键交易面板的操作错误。
  2. 修正在图表上启用一键交易面板时打开的警告对话框。


31 五月 2024

MetaTrader 5 Build 4350:网络平台中的更多分析对象和MetaEditor中的欢迎页

MetaEditor

  1. 添加欢迎页来帮助用户开始算法交易和应用程序开发之旅。



    新手交易者资料
    “简介”部分介绍了MQL5.com上提供的学习资料:语言文档、书籍、文章、开发者论坛和代码库。它还推出了您可以应用知识并将知识货币化的服务:应用程序市场、自由职业者服务和交易信号。

    在文档和书籍部分,您可以找到可用学习资料更详细的描述。

    适用于开发人员的功能
    “新功能”部分提供了一系列重要信息,以帮助开发人员了解最新情况:


    此外,在这里您还可以找到最近打开的文件列表,以便快速访问。



    对于在市场上积极销售其应用程序的用户,“我的销售”报告为评估其表现提供了有价值的工具。它提供对以下内容的访问权限:

    • 一段时间内的综合销售和下载统计数据。
    • 销售地理位置,深入了解您的产品最受欢迎的地区。这可以为进一步的项目扩展提供想法,例如本地化为特定语言或针对特定地区的有针对性的广告活动。
    • 根据销售量和营业收入得出的畅销产品数据。可以根据许可证类型过滤图表:完整许可证或特定期限的租赁许可证。此外,在这里您还可以看到产品价格变化的图表。所有这些都将帮助您了解您的客户。
    • 每个产品的详细下载和销售统计数据。


  2. 改进内置搜索。顶部搜索栏现在专门用于搜索当前文档或本地文件中的文本。对于学习资料和代码的全局搜索,请使用工具箱中的单独部分。


  3. AI Assistant中添加对最新ChatGPT模型 - GPT-4o的支持。这可用于自动完成代码并获取提示。您可以在MetaEditor设置中选择新模型。


  4. 更新用户界面翻译。

程序端

  1. 提高在交易品种规格中显示计算价格的精度。
  2. 修正交易报告中的MFE和MAE计算。
  3. 修正按国家和货币保存和恢复 经济日历过滤设置的问题。
  4. 修正模板在图表中的应用问题。现在,如果图表启用交易历史的显示 ,则应用模板后相应的对象不会消失。
  5. 修正期权看板中的错误。在某些情况下,在看板上添加交易品种可能会导致平台冻结。
  6. 修正持仓编辑对话框中的错误。在某些情况下,可能会输入错误的水平而不是当前的止损和止盈值。
  7. 更新用户界面翻译。

MQL5

  1. 优化并加速ArrayResize函数。在某些条件下,该函数执行速度可提高40%。
  2. 更新对ONNX的支持。
  3. 修正服务应用程序中MessageBox函数调用的问题。无论用户在对话框中按下哪个按键,该函数都会返回空值。
  4. 修正在某些情况下导致MQL5程序初始化不完整的错误。
  5. 修正解析一些的错误。使用大量常量时发生错误。

MetaTrader 5网页端

  1. 扩展可用分析对象的列表。现在,您可以利用标尺来测量时间和价格,绘制图形(矩形、椭圆形、三角形和圆形),并向图表添加标签。所有对象都可以在左侧面板中找到:


  2. 添加重命名对象的功能。
  3. 改进与经济日历的整合。优化并加速数据请求。
  4. 加速图表操作。
  5. 加快应用程序启动和与交易账户连接的速度。
  6. 修正管理图表上交易操作显示的设置。
  7. 修正合约规格中预付款要求的显示。
  8. 修正在历史记录部分账户状态的显示。窄屏设备上可能会出现问题。
  9. 修正市场深度变化的显示。
123456789