MetaTrader 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. 修正市场深度变化的显示。

22 三月 2024

MetaTrader 5 build 4260:其他改进

程序端

  1. 修正订阅服务中订阅免费产品时出现的错误。在某些情况下,对话框中可能不显示相关按键。
  2. 更新用户界面的翻译。

MQL5

  1. 扩展对键盘事件的支持:

    • OnChartEvent处理程序添加CHARTEVENT_KEYUP事件。它可以追踪与键释放相关的事件。
    • 添加无效键处理功能。这些键可以修改最后按下的键所生成的字符的外观。例如,在希腊语的布局中,重读元音ά、έ、ύ等可以通过先按";"再按元音来生成。使用TranslateKey函数可以追踪这类键的按下情况。
    • 改进TranslateKeyTerminalInfoInteger函数。现在,在OnChartEvent中接收CHARTEVENT_KEYUP或CHARTEVENT_KEYDOWN事件时,可以获得事件发生时的完整键盘状态。例如,如果用户按下Z键,就能确定当时按的是Ctrl键还是Shift键。对于其他事件,函数运行如从前一样,返回当前时刻的键盘状态。

  2. 更新Alglib库。更新后,将修改CMatrixDouble和CMatrixComplex类中的以下方法:
    vector<double/complex> operator[](const int i) const;
    vector<double/complex> operator[](const ulong i) const;
    取而代之的是一个具有恒定返回值的方法:
    const vector<double/complex> operator[](const ulong i) const;
    在新版Alglib中,mat[row][col]=x的代码运行方式与旧版不同,因此此次修改将有助于在适当的位置捕捉结果的错误使用。以前,这表示写入一个矩阵。现在,该值被写入一个临时对象向量<double/complex>,记录后会立即销毁。

    在返回值中添加const可以使用mat[row][col]=x。由于mat[row]现在返回的是常量向量,因此尝试用mat[row][col]覆盖其元素将导致编译错误。

  3. 修正在某些条件下可能导致错误操作ChartGet*函数的错误。

MetaEditor

  1. 添加对MQL5算法交易的神经网络一书内容的搜索。新选项与之前出版的交易者MQL5编程一书出现在同一部分。



Tester

  1. 修正使用大量远程代理时的优化问题。在某些情况下,该错误可能会导致CPU占用率过高。

MetaTrader 5网页端

  1. 修正在交易所执行模式下交易品种限价单的设置。现在,当所下订单的价格相对于当前价格发生变化(变高或变低)时,订单类型将不会像其他类型的交易品种那样,从买入限价(Buy Limit)切换到卖出限价(Sell Limit),反之亦然。因此,用户可以发出高于市场的买入限价(Buy Limit)订单和低于市场的卖出限价(Sell Limit)订单,从而确保交易价格得到限制。
  2. 修正市场报价中选定交易品种计数器的显示问题。

7 三月 2024

MetaTrader 5 build 4230:更多内置应用程序和扩展ONNX支持

程序端

  1. 在标准平台包中添加28个新EA交易和12个新指标。这些应用程序可在导航器的EA交易\Free Robots和指标\Free Indicators部分获得。每个程序均以源代码形式提供,并附有详细注释,可帮助您学习MQL5语言。

    EA交易根据技术指标和蜡烛图形态实施交易策略,例如 3 Black Crows – 3 White Soldiers,Bullish Engulfing – Bearish Engulfing,Bullish Harami – Bearish Harami等。新指标是流行渠道的实施情况:Camarilla、DeMark、Donchian、Fibonacci和Keltner等。


  2. 推出纳斯达克市场数据订阅的准备工作正在进行中。通过该平台,交易者将能够访问来自最大交易所之一的数百种交易品种的实时报价和深入价格历史记录。任何在MetaQuotes-Demo服务器上拥有模拟账户和拥有MQL5.community账户的用户都可以订阅。


    首先,您只需购买订阅并将相关交易品种添加到您的市场报价中。您可以将这些交易品种用作常规交易品种:打开图表,使用对象和指标对其进行分析,并在策略测试器中运行EA交易。访问所有信息的方式与您与交易商合作的普通交易品种一样。

  3. 改进交易品种规格中的预付款部分。该部分现在提供每个交易品种的预付款率和计算值。


    修正某些交易品种类型的预付款显示错误。

  4. 在“帮助”菜单中添加MQL5 Telegram频道的链接。该频道定期分享开发人员感兴趣的内容,包括对新编程文章的评论以及来自 代码库的免费EA和指标。订阅该频道以时刻关注更新消息,确保您不会错过重要信息。


  5. 自定义配置文件的[StartUp]部分添加对ShutdownTerminal参数的支持。使用此参数启动平台以使用脚本执行一次性任务。例如,您有一个用于截图图表屏幕的脚本。您可以创建一个配置文件,与平台一起启动该脚本。如果将ShutdownTerminal设置为“是”添加到该文件中,平台将在脚本完成后立即自动关闭。
  6. 加强对网络协议和市场产品的保护。
  7. 禁用对模拟账户信号服务的支持。要获取有关练习账户的更多统计信息,请使用新交易报告。它提供了大量的指标来描述您的策略盈利能力和风险,包括增长图、平衡图和权益图,以及按方向和交易品种划分的交易分布图等。
  8. 修正“帮助”菜单中交易商协议链接的显示。
  9. 改进租用VPS时最佳服务器的选择。
  10. 修正在导航器中切换版块时刷新订阅页面的问题。
  11. 修正在开设初始账户时更新协议列表的问题。
  12. 更新用户界面翻译。

MQL5

  1. ENUM_MQL_INFO_INTEGER枚举中添加MQL_STARTED_FROM_CONFIG属性。如果脚本/EA交易从配置文件的StartUp部分启动,则返回true。这意味着脚本/EA交易已在启动程序端的配置文件中指定。
  2. 我们继续扩大对ONNX模型的支持。

    机器学习任务并不会一直需要更高的计算精度。为了加快计算速度,一些模型使用较低精度的数据类型,例如Float16甚至Float8。为了允许用户将相关数据输入到模型中,MQL5中添加了以下函数:
    bool ArrayToFP16(ushort &dst_array[],const float &src_array[],ENUM_FLOAT16_FORMAT fmt);
    bool ArrayToFP16(ushort &dst_array[],const double &src_array[],ENUM_FLOAT16_FORMAT fmt);
    bool ArrayToFP8(uchar &dst_array[],const float &src_array[],ENUM_FLOAT8_FORMAT fmt);
    bool ArrayToFP8(uchar &dst_array[],const double &src_array[],ENUM_FLOAT8_FORMAT fmt);
    
    bool ArrayFromFP16(float &dst_array[],const ushort &src_array[],ENUM_FLOAT16_FORMAT fmt);
    bool ArrayFromFP16(double &dst_array[],const ushort &src_array[],ENUM_FLOAT16_FORMAT fmt);
    bool ArrayFromFP8(float &dst_array[],const uchar &src_array[],ENUM_FLOAT8_FORMAT fmt);
    bool ArrayFromFP8(double &dst_array[],const uchar &src_array[],ENUM_FLOAT8_FORMAT fmt);
    由于16位和8位的实数格式可能不同,因此转换函数中的“fmt”参数必须指示需要处理哪种数字格式。对于16位版本,使用新的枚举NUM_FLOAT16_FORMAT,当前具有以下值:

    • FLOAT_FP16 – 标准16位格式也称为 half
    • FLOAT_BFP16 – 特殊的脑浮点格式。

    对于8位版本,使用新的ENUM_FLOAT8_FORMAT枚举,当前具有以下值:

    • FLOAT_FP8_E4M3FN – 8位浮点数,4位表示指数,3位表示尾数。通常用作系数。
    • FLOAT_FP8_E4M3FNUZ — 8位浮点数,4位表示指数,3位表示尾数。支持NaN,不支持负零和Inf。通常用作系数。
    • FLOAT_FP8_E5M2FN – 8位浮点数,5位表示指数,2位表示尾数。支持NaN和Inf。通常用于渐变
    • FLOAT_FP8_E5M2FNUZ — 8位浮点数,5位表示指数,2位表示尾数。支持NaN,不支持负零和Inf。也用于渐变。


  3. 添加机器学习中使用的新矩阵和向量方法:


  4. ONNX Runtime已更新至1.17版本。有关发布说明的详细信息,请参阅GitHub
  5. Python集成包更新至5.0.4200版本,添加对Python 3.12的支持。使用“pip install -- pgrade MetaTrader5”命令更新您的软件包以获取最新更改。
  6. 修正某些情况下的OrderCalcMargin函数操作的问题。
  7. ENUM_DEAL_REASON枚举中添加了DEAL_REASON_CORPORATE_ACTION属性。它表示由于公司行动而执行的交易:合并或重新命名证券、将客户转移到另一个账户等。
  8. 比较方法添加对复向量和矩阵比较的支持。比较涉及到复数之间距离的估算。距离的计算公式为sqrt(pow(r1-r2, 2) + pow(i1-i2, 2),是一个已经可以与epsilon进行比较的实数。
  9. 修正将颜色类型变量转换为RGB格式文本的问题。
  10. 修正在复特征值的情况下,返回Eig方法获取特征向量的结果。为复杂评估添加方法重载。

MetaEditor

  1. 在帮助\MQL5.community菜单中添加最近发布的书籍“MQL5交易者编程”的链接。该书也已添加到搜索系统,因此您可以直接从MetaEditor找到所需的信息:



  2. 内置搜索改进:

    • 工具箱窗口中的搜索结果部分分为两个选项卡:“搜索”用于在线搜索结果(文档、文章、书籍等),“在文件中搜索”用于本地结果。
    • 单独的搜索字符串已添加到结果部分。您可以使用它来代替MetaEditor主工具栏中的搜索栏。

  3. 命令行编译命令时添加对AVX、AVX2和AVX512模式的支持。要进行编译,请在下列键中选择一个添加到命令中:/avx、/avx2或/avx512。
  4. 用于数据库操作的SQLite引擎更新至版本3.45。
  5. 禁用对Internet Explorer的支持。现在仅使用Microsoft Edge WebView2来显示HTML页面。与之前的MSHTML相比,新组件通过提供对最新技术的访问,进一步扩展了内容显示功能。WebView2的使用改善了某些MetaEditor部分的外观,提高了性能,并创建了一个响应速度更快的界面。
  6. 修正在极少数情况下函数自动完成时发生的冻结问题。
  7. 修正崩溃日志中的错误报告。
  8. 修正在极少数情况下函数自动完成时发生的冻结问题。

Tester

  1. 如果测试开始日期恰好是三倍库存费日,则修正三倍库存费的计算。

MetaTrader 5网页端

改进合约规格中预付款要求的显示。现在,除了用于计算比率和初始参数之外,规格还显示最终预付款值。如果预付款数额取决于持仓量,则对话框中将显示相应的水平。


预付款的计算依据是规格窗口打开时的交易品种价格,而不是实时更新。因此,这些数值应被视为具有指示性。要根据当前价格重新计算数值,请重新打开交易品种规格。

29 二月 2024

介绍"MQL5算法交易的神经网络"

我们很高兴地宣布,新教程"MQL5算法交易的神经网络"正式发布。通过本教程,您将学习如何在MetaTrader 5平台的EA交易中使用人工智能。作者Dmitry Gizlyk是一位神经网络方面的专家,他已经撰写了十多篇相关文章。现在,在MetaQuotes支持下,他所有有价值的知识都方便地汇集在一本教程中。本书逐步向读者介绍神经网络基础知识及其在算法交易中的应用。您将学习创建自己的人工智能应用程序、对其进行训练并扩展其功能。

介绍"MQL5算法交易的神经网络"


该教程可在MQL5算法交易社区网站的NeuroBook部分免费在线获取。本教程由七个部分组成:

  • 第1章将向您介绍人工智能的世界,通过激活函数和权重初始化方法等基本神经网络构建模块奠定基础。
  • 第2章详细探讨MetaTrader 5的功能,介绍如何利用平台工具创建强大的算法交易策略。
  • 第3章将指导您在MQL5中逐步开发第一个神经网络模型,涵盖从数据准备到模型实施和测试的所有内容。
  • 第4章深入了解基本神经层类型,包括卷积神经网络和递归神经网络、它们的实际应用和综合测试。
  • 第5章介绍自注意力和多方自注意力等注意力机制,展示高级数据分析方法。
  • 第6章解释改进模型收敛的体系结构解决方案,如批处理规范化和删除。
  • 第7章是本书的总结,提供了通过MetaTrader 5在真实交易条件下使用开发的神经网络模型测试交易策略的方法。

本教程面向已经了解如何使用MQL5和Python编写程序的高级用户。如果您刚刚开始接触算法交易,我们建议您从"交易者的MQL5编程"语言文档开始。


18 一月 2024

MetaTrader 5 build 4150:交易报告导出和MQL5新机器学习方法

程序端

  1. 程序端:添加将交易报告导出为HTML和PDF文件的功能。通过这个选项,您可以轻松地与同事和投资者分享您的交易成果。新导出命令可在文件菜单和报告菜单中获得。




  2. 程序端:添加将当前"市场报价"窗口的状态保存到CSV文件的功能。为此,请在快捷菜单中选择"导出"。文件将保存导出时选择的指标。要保存更多数据,可通过快捷菜单启用其他列。




  3. 程序端:改进合约规格中预付款要求的显示。现在,规格不再显示计算的比率和初始参数,而是显示最终预付款值。如果预付款数额取决于持仓量,则对话框中将显示相应的水平。



    预付款的计算依据是规格窗口打开时的交易品种价格,而不是实时更新。因此,这些数值应被视为具有指示性。要根据当前价格重新计算数值,请重新打开交易品种规格。

  4. 程序端:禁用对模拟账户信号服务的支持。要获取有关练习账户的更多统计信息,请使用新交易报告。它提供了大量的指标来描述您的策略盈利能力和风险,包括增长图、平衡图和权益图,以及按方向和交易品种划分的交易分布图等。
  5. 程序端:修正在编辑Stop Limit订单的止盈和止损时显示潜在盈/亏值的问题。
  6. 程序端:修正和改进支付系统的操作。
  7. 程序端:修正在市场报价中从*.set文件加载一组交易品种时的重复检查。
  8. 程序端:修正Parallels的网络安装程序。现在,在装有M1/M2/M3的macOS上使用该虚拟化系统时,平台将被正确安装。
  9. 程序端:更新用户界面翻译。
  10. 修正崩溃日志中的错误报告。

MQL5

  1. 添加机器学习中使用的矩阵和向量操作新方法。

    • ConfusionMatrix:计算误差矩阵。该方法适用于预测值的向量。
    • ConfusionMatrixMultilabel:计算每个标签的误差矩阵。该方法适用于预测值的向量。
    • ClassificationMetric:计算分类指标,以评估预测数据与真实数据相比的质量。该方法适用于预测值的向量。
    • ClassificationScore:计算分类指标,以评估预测数据与真实数据相比的质量。该方法适用于真实值的向量。
     
  2. 修正使用FileWrite函数将数据以UTF-8格式保存到文本文件。
  3. 禁用和弃用的Signal*函数。现在它们将返回空信号集。

MetaEditor

  1. 提高分析采样率。现在,分析器每秒可捕捉10,000次应用程序状态,从而更准确地测量函数执行率。
  2. 更新AI Assistant自动编码助手的可用模型。添加ChatGPT-4 Turbo模型,删除过时的模型。
  3. 修正替换所选文本片段中的单词时出现的错误。

Tester

  1. 修正在通用优化模式下可能出现的前测冻结问题。
  2. 利用MQL5程序的交易历史记录优化和加速操作。
  3. 修正Close By操作的利润计算。与主测试交易品种不匹配的交易品种可能会出错。

网页端

  1. 修正交易商相关属性发生变化时更新交易品种属性的问题。
  2. 修正图表上蜡烛图显示的问题。图表可能无法显示小蜡烛图。
  3. 修正开户表格中国家字段的操作。

15 十二月 2023

介绍《交易者的MQL5编程》

本书面向所有级别的程序员。书中介绍了主要开发工具和基本编程概念,初学者可以从中学习到基础知识。通过这份资料,您就可以在MetaTrader 5交易平台上创建、编译和运行您的第一个应用程序。拥有其他编程语言经验的用户可以立即进入MQL5中与创建EA交易和分析应用程序相关的应用部分。

介绍《交易者的MQL5编程》

本书可在MQL5.community网站的"书籍"部分在线免费获取。这本书由七个部分组成:

  1. MQL5和开发环境简介 – 概述MQL5编程和MQL5开发环境的基本原理,包括MetaEditor编辑和编译功能。
  2. MQL5编程基础 – 基本概念,包括适用于过程式MQL5程序开发的数据类型、指令、操作符、表达式、变量、代码块和程序结构。
  3. 面向对象编程 – 尽管MQL5与其他支持OOP范式的语言(尤其是C++)有相似之处,但MQL5仍具有与众不同的特点。
  4. 常用函数 – 经常使用的适用于任何程序的内置函数。
  5. 创建应用程序 – 深入了解MQL5程序在架构上的细微差别,以及与交易相关任务类型的专业化,如使用指标进行技术分析、图表管理和图形对象的使用等。
  6. 交易自动化 – 如何分析交易环境并使用EA实现交易自动化。
  7. 高级语言工具 – 一套专业的应用程序接口,旨在促进MQL5与相关技术(包括数据库、数据交换、OpenCL和Python)的集成。

书中提供了大量源代码示例。根据讲解,您可以在内置编译器中执行自己的应用程序,并在平台中即时查看程序执行结果。源代码可在公共项目 \MQL5\Shared Projects\MQL5Book和代码库中获得。

现在就开始学习MQL5,探索专业算法交易的世界。获得的知识将帮助您把想法变为现实。您还可以通过市场开发和出售应用程序,以及在自由职业者服务中承接编程订单,将它们应用到商业环境中。


9 十一月 2023

下载MetaTrader 5 macOS和MetaTrader 5 Linux

我们早前就已经准备了专门的交易平台安装程序。适用于macOS的安装程序提供完整的向导,可以像本地应用程序一样直接安装。 对于Linux,我们提供一个可以使用单个命令下载和启动的脚本。

安装程序执行所有必要的操作:识别用户的系统,下载并安装最新的Wine版本,对其进行配置,然后在其中安装MetaTrader。所有步骤均以自动模式完成,安装后即可立即开始使用该平台。

安装程序链接可在https://www.metatrader5.com网站和交易平台的帮助菜单中获得:



macOS:检查您的Wine版本

我们最近完全更新macOS安装程序,其中包含很多改进。如果您已经在macOS上使用MetaTrader,请检查当前的Wine版本,版本号会在启动时显示在程序端日志中:

LP 0 15:56:29.402 Terminal MetaTrader 5 x64 build 4050 started for MetaQuotes Software Corp.
PF 0 15:56:29.403 Terminal Windows 10 build 18362 on Wine 8.0.1 Darwin 23.0.0, 12 x Intel Core i7-8750H  @ 2.20GHz, AVX2, 11 / 15 Gb memory, 65 / 233 Gb disk, admin, GMT+2

如果您的Wine版本低于8.0.1,我们建议您移除旧平台以及安装它的Wine前缀。您可以像往常一样将平台从“应用程序”部分移至垃圾箱来将其删除。Wine前缀可以使用Finder删除。选择“前往 > 前往文件夹”菜单并输入目录名称:~/Library/Application Support/。进入该目录,根据安装的MetaTrader版本删除以下文件夹:

~/Library/Application Support/Metatrader 5
~/Library/Application Support/net.metaquotes.wine.metatrader5
~/Library/Application Support/Metatrader 4
~/Library/Application Support/net.metaquotes.wine.metatrader4

然后,使用我们的安装程序重新安装程序端。

  • 在此过程中,系统将提示您安装其他Wine软件包(Mono、Gecko)。请同意这个提示,因为这是正常运行所必需的。
  • 最低macOS版本是适用于MetaTrader 4的Big Sur和适用于MetaTrader 5的Mojave。


您不再需要搜索手动安装说明或使用第三方解决方案。您只需点击几下即可安装该平台并立即开始交易:

8 十一月 2023

MetaTrader 5 iPhone/iPad:批量操作、21个时间周期和交易通知

我们不断改进MetaTrader 5 iOS移动应用程序,增加更多交易功能和分析功能。在过去六个月里,我们推出批量交易操作、额外时间周期、交易通知等。以下是所有这些新功能的详细介绍。

  1. 批量平仓和删除订单。应用程序现在支持对持仓和订单的批量操作。例如,在重要新闻发布时,您只需点击几下,就可以关闭所有未结持仓,从而迅速锁定利润。您还可以快速取消所有挂单,防止它们因价格剧烈波动而被触发。

    要进行批量操作,请点击持仓或订单部分的三个点,或打开特定操作的上下文菜单。



  2. 交易通知。打开通知功能,随时了解账户交易操作情况。信息以推送通知的形式从交易商服务器发送,因此即使应用程序不运行,您也能收到信息。根据所选账户开户交易商的设置,通知可能包括订单、交易、出入金相关信息。每个账户可单独启用通知功能;在服务器上保存设置。



  3. 止损水平的盈/亏。移动止盈和止损水平时,您将立即看到触发该水平可能带来的潜在盈亏。数值以点数和货币形式显示。



  4. 改进交易面板。新设置可以将交易面板放置在图表的上方或下方。我们还增加了交易量更改选项与"买"和"卖"按键之间的距离,以避免意外发送订单。



  5. 支持21个时间周期。我们额外增加12个分钟和小时时间周期,为价格分析提供更多选择。要将您的常用时间周期添加到快速访问面板,请转到图表上方的时间周期菜单,并长按进行选择。



  6. 高级定制交易水平。现在,您可以单独启用/禁用持仓水平、挂单和止损/止盈水平的显示。



  7. 屏幕锁定。您可以设置PIN码或使用Face ID(面部识别)/Touch ID(指纹识别)来防止其他用户访问应用程序。如果其他人使用您的iPhone或iPad,您的交易账户仍然安全。要激活此功能,请在"设置/关于"窗口打开"屏幕锁定",并设置一个四位数的PIN码。如果应用程序待机时间超过一分钟,您将需要输入PIN码或使用Face ID(面部识别)/Touch ID(指纹识别)解锁应用程序。



  8. 改进聊天功能。内置通讯工具推出多项新功能,使MQL5.community成员之间能够进行交流:

    • 在个人聊天中屏蔽用户,并查看被屏蔽用户的列表。
    • 点击用户头像时显示用户数据。
    • 长按聊天信息即可举报。
    • 为不在好友列表中的用户创建的新聊天添加一个菜单。如果收到这样的聊天信息,您可以立即将该用户加为好友或屏蔽并举报他们。
    • 在应用程序设置的部分图标上显示未读信息的数量。





  9. 交易商监管文件链接。现在,您可以在移动应用程序的账户属性部分直接访问交易商提供的所有必要法律信息。链接是否可用取决于您的交易商。
  10. 多项改进和修正。在过去六个月里,我们已经推出数十项改进措施,以确保应用程序性能的稳定和迅捷。


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

6 十一月 2023

MetaTrader 5 Android:新交易功能和分析功能

在过去六个月里,MetaTrader 5 Android移动应用程序推出了大量新功能。这些功能包括快速图表交易功能、额外时间周期、交易历史的可视化显示等。下文将详细介绍这些更新。

  1. 图表一键交易。现在,只需打开一个特殊面板,按下"买"或"卖",就可以进行交易。这意味着您可以立即抓住交易机会,而无需在标签之间切换上浪费宝贵的时间。



    快速操作的结果会立即以弹出通知的形式显示在图表上。如果您觉得通知没有必要,可以在应用设置中禁用。此外,通过设置,您还可以将交易面板置于图表上方或下方。

  2. 从图表下挂单。现在,您可以通过拖动挂单到图表上所需的水平,直观地下挂单。点击顶部面板上的按键,选择订单类型,设置价格,然后点击箭头确认参数。这种方法比通过交易对话框配置参数要快得多。您可以立即设置订单的止损和止盈。同样,您只需点击任何现有订单级别并设置新参数,就可对其进行修改。




  3. 通过图表管理持仓和订单。在图表上选择一个持仓或订单级别,图表底部就会出现一个控制面板。您可以在这个面板上平仓和删除订单,以及添加和移除止损和止盈水平。移动止损水平时,您将立即看到以点数和货币形式显示的潜在盈亏。



  4. 图表上的交易历史。现在,您可以直观地评估市场进出情况。如果在应用程序设置中启用历史显示,所有交易都将在图表上以箭头形式显示。交易方向用不同颜色表示:蓝色代表买入,红色代表卖出。进出交易用虚线连接。此外,您还可以在图表设置中选择显示未结持仓和有效挂单。



  5. 批量平仓和删除订单。应用程序现在支持对持仓和订单的批量操作。例如,在重要新闻发布时,您只需点击几下,就可以关闭所有未结持仓,从而迅速锁定利润。您还可以快速取消所有挂单,防止它们因价格剧烈波动而被触发。

    要进行批量操作,请点击持仓或订单部分的三个点,或打开特定操作的上下文菜单。



  6. 自适应交易量编辑。交易对话框中修改交易量的按键现在会自动调整为当前交易量值。交易量越大,每次点击按键时增加或减少的单位就越多。



  7. 支持21个时间周期。我们额外增加12个分钟和小时时间周期,为价格分析提供更多选择。要将您的常用时间周期添加到快速访问面板,请转到图表上方的时间周期菜单进行配置。



  8. 复制图表上的分析对象。新选项可加快图表标记速度。长按打开对象菜单并选择“复制”:



  9. 改进右侧图表边框调整。要更改图表边框位置,只需将图表滚动到最后一个价格,直到出现垂直分隔符。接下来,拖动图表底部标尺的三角形:



  10. 通过二维码连接账户。现在,您可以通过扫描二维码从桌面平台或其他设备转移账户。无需输入登录名和密码,即可立即连接账户。要访问二维码,请点击账户属性中的相应图标。




  11. 更新配色方案。整个界面经过重新设计,注重了颜色的选择,确保了舒适的工作环境。该应用程序现在支持暗主题,在设备上启用暗主题时会自动激活。此外,我们还添加自定义图表上所有线条颜色的设置。



  12. 交易商监管文件链接。现在,您可以在移动应用程序的账户属性部分直接访问交易商提供的所有必要法律信息。链接是否可用取决于您的交易商。
  13. 针对阿拉伯语和波斯语的调整。我们实施多个增强功能,以确保应用程序界面在使用从右向左脚本的语言时正确显示。
  14. 多项改进和修正。在过去六个月里,我们已经推出数百项改进措施,以确保应用程序性能的稳定和迅捷。


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

Google Play Huawei App Gallery APK文件

20 十月 2023

MetaTrader 5 build 4040:其他改进和修复

程序端

  1. 新交易报告改进。修正增长图表和缩减计算中第一个值的显示。



  2. 开户时,交易者会通过内部电子邮件系统收到几条信息。这些信息中会提供有关平台功能和内置服务的凭证和可用信息。我们对这些电子邮件进行了更新和改进,将其翻译成50种语言,并整体更新设计。
  3. 优化账户入金和出金页面。
  4. 修正下新订单时交易量变化的错误。在某些交易品种设置组合中,该字段无法进行编辑。
  5. 修正模拟账户开户对话框中交易商协议链接的显示问题。
  6. 更新用户界面翻译。

MQL5

  1. 修正在某些条件下可能导致MQL5程序启动时崩溃的错误。

MetaTrader 5网页端

  1. 修正在交易历史中止损和止盈值的显示问题。
  2. 增强日志记录功能。新日志信息可显示连接成功和连接失败的信息。
  3. 修正市场报价中的快捷菜单操作。
  4. 修正从市场深度进行交易时有关操作结果的通知显示。
  5. 修正在调用交易对话框时导致指标子窗口从图表中移除的错误。
  6. 修正在图表上拖动显示在分析对象顶部的交易水平的问题。

29 九月 2023

MetaTrader 5 build 4000 :改进交易报告和网页端

程序端

  1. 新交易报告中添加每月资金增长的显示。要查看该指标,请进入汇总报告并选择"结余"模式。



  2. 修正并改进新交易报告的显示。
  3. ONNX Runtime已更新至1.16版本。有关发布说明的详细信息,请参阅GitHub
  4. 更新用户界面翻译。

MetaTrader 5网页端

  1. 修正密码更改和开设账户对话框的显示问题。
  2. 修正历史记录中止损值和止盈值的显示问题。修改相关级别后可能会出现错误。
  3. 在风险预警对话框中添加滚动条。
  4. 更新用户界面翻译。
  5. 其他改进和修复。

21 九月 2023

MetaTrader 5 build 3980:其他改进和修复

程序端

  1. 新交易报告的改进。修正总库存费值和交易品种利润图表的显示问题。
  2. 优化出入金页面。有关新平台与支付系统集成的更多详细信息,请参阅build 3950发布说明
  3. 优化整个平台(包括策略测试)财务运营的重新计算。现在,利润、预付款和许多其他参数的计算速度更快。
  4. 更新用户界面翻译。

MQL5

  1. 添加复数、向量<复数>和矩阵<复数>类型共轭方法。实现复杂的共轭运算。
    //+------------------------------------------------------------------+
    //| 脚本程序起始函数                          |
    //+------------------------------------------------------------------+
    void OnStart()
      {
       complex a=1+1i;
       complex b=a.Conjugate();
       Print(a, "  ", b);
       /*
       (1,1)  (1,-1)
       */
    
       vectorc va= {0.1+0.1i, 0.2+0.2i, 0.3+0.3i};
       vectorc vb=va.Conjugate();
       Print(va, "  ", vb);
       /*
       [(0.1,0.1),(0.2,0.2),(0.3,0.3)]  [(0.1,-0.1),(0.2,-0.2),(0.3,-0.3)]
       */
    
       matrixc ma(2, 3);
       ma.Row(va, 0);
       ma.Row(vb, 1);
       matrixc mb=ma.Conjugate();
       Print(ma);
       Print(mb);
       /*
       [[(0.1,0.1),(0.2,0.2),(0.3,0.3)]
        [(0.1,-0.1),(0.2,-0.2),(0.3,-0.3)]]
    
       [[(0.1,-0.1),(0.2,-0.2),(0.3,-0.3)]
        [(0.1,0.1),(0.2,0.2),(0.3,0.3)]]
       */
       
       ma=mb.Transpose().Conjugate();
       Print(ma);
       /*
       [[(0.1,0.1),(0.1,-0.1)]
        [(0.2,0.2),(0.2,-0.2)]
        [(0.3,0.3),(0.3,-0.3)]]
       */
      }
  2. 添加处理“Sequence of maps”类型的ONNX模型输出。

    对于在输出层提供Map序列(ONNX_TYPE_MAP的ONNX_TYPE_SEQUENCE)的ONNX模型,应将动态或固定的结构数组作为输出参数传递。此结构的前两个字段必须与ONNX_TYPE_MAP键和值类型匹配,并且是固定数组或动态数组。

    考虑由以下Python脚本创建的iris.onnx模型:
     sys 导入 argv
    data_path=argv[0]
    last_index=data_path.rfind("\\")+1
    data_path=data_path[0:last_index]
    
     sklearn.datasets 导入 load_iris
    iris_dataset = load_iris()
     sklearn.model_selection 导入 train_test_split
    X_train, X_test, y_train, y_test = train_test_split(iris_dataset['data'], iris_dataset['target'], random_state=0)
     sklearn.neighbors 导入 KNeighborsClassifier
    knn = KNeighborsClassifier(n_neighbors=1)
    knn.fit(X_train, y_train)
    
    # 转换  ONNX格式
     skl2onnx 导入 convert_sklearn
     skl2onnx.common.data_types 导入 FloatTensorType
    initial_type = [('float_input', FloatTensorType([None, 4]))]
    onx = convert_sklearn(knn, initial_types=initial_type)
    path = data_path+"iris.onnx"
    with open(path, "wb") as f:
        f.write(onx.SerializeToString())
    在MetaEditor中打开创建的onnx文件:

    在MetaEditor中查看ONNX模型


    Map序列作为“output_probability”传递。它有一个INT64类型键(对应于MQL5中的long)和float类型值。要从此输出接收数据,请声明以下结构:
    struct MyMap
      {
       long              key[];
       float             value[];
      };
    这里我们使用具有适当类型的动态数组。在这种情况下,我们可以使用固定数组,因为这个模型的Map始终包含3个键+值对。

    由于返回Map序列,因此应将此类结构的数组作为参数传递,以接收来自output_probability输出的数据。根据特定模型的属性,该数组可以是动态数组可以是固定数组。示例:
    //--- 声明一个数组来接收来自输出层output_probability的数据
    MyMap output_probability[];
    
    ...
    
    //--- 模型运行
    OnnxRun(model,ONNX_DEBUG_LOGS,float_input,output_label,output_probability);

MetaEditor

修正ONNX模型查看器中输出类型的显示问题。

14 九月 2023

MetaTrader 5 build 3950:在程序端出入金,更新的交易报告

程序端

  1. 添加对直接在客户端中进行交易账户出入金的结余操作的支持。

    我们将最常用的支付系统直接集成到MetaTrader 5平台中,使得交易商能够为交易者提供更高水平的服务。在入金或充值时,只需选择最适合您的付款方式即可完成交易。为了更加便捷,交易者可以保存所选银行卡,这样不用每次都输入银行卡的详细信息。交易商不会存储付款详细信息和银行卡号。用户输入的支付数据通过安全通道发送到用户选择的支付系统。

    新功能为交易者提供了无需离开客户端即可一键管理资金的机会。



  2. 全面改进交易历史报告。现在查看报告更加轻松。我们修正了信息展示方法,将枯燥的统计报告转换为互动式图表。这项工作仍在进行中,但您已经可以评估这些变化。

    要查看交易统计数据,请单击"查看"菜单中的"报告"。




    报告分为四个选项卡,每个选项卡都包含汇总信息:

    1. 摘要 — 交易摘要:账户数据、整体损益、入金和出金、结余、增长和股息图表等。
    2. 盈利/亏损 — 盈利和亏损交易的数据。参数按交易类型(手动交易、算法交易和复制交易)划分。结果可以从交易或资金的角度,按月份和年份进行分析。
    3. 买入持仓/卖出持仓 - 指定时间段的动态买卖比率,以及买入和卖出的盈利能力。
    4. 交易品种 - 按交易品种分析交易。在这里,您可以看到您在哪些交易品种上盈利或亏损、交易频率、交易图表以及货币量。

    新报告使您只需点击选项卡,就能直观地评估各方面的交易结果。直方图、图形和图表是交互式的,鼠标悬停时可提供更多信息。我们的设计人员精心设计布局,使报告尽可能简单明了。现在就来体验吧!


  3. 添加AVX2指令的使用(在CPU支持的情况下)。这样可以在启动程序端时更有效地利用CPU算力。现在,在安装或更新时,程序端本身将确定CPU架构并安装最适用的版本。在启动期间,程序端会向日志发送一条消息 (AVX/AVX2),显示程序端构建的指令集。
    Terminal	MetaTrader 5 x64 build 3914 started for MetaQuotes Software Corp.
    Terminal	Windows 10 build 19045, 20 x Intel Xeon  E5-2630 v4 @ 2.20GHz, AVX, 41 / 63 Gb memory, 58 / 280 Gb disk, UAC, GMT+2
    

    高级矢量扩展(AVX)是2008年针对Intel和AMD微处理器提出的x86指令集的扩展。进一步的发展带来AVX2和AVX-512 (2013)的出现。

  4. 除了X64和AVX上的两个版本MetaTrader 5程序端外,我们还发布了直接支持AVX2命令编译的第三个版本的桌面程序端。同时,ONNX模型现在也支持AVX2命令。
  5. 添加显示交易商必要监管文件的链接。现在您可以直接在客户端的“帮助/条款和条件”中从您的交易商获取所有必要的法律信息。



  6. 修正通过证书额外使用扩展授权情况下的2FA授权
  7. 修正在MacOS上工作时内部邮件消息的显示。
  8. 修正在Wine中工作时信号窗口的显示。
  9. 发布适用于Linux的MetaTrader 4和MetaTrader 5新安装程序。
  10. 在帮助中添加访问Linux和Mac程序端版本下载页的命令。为了方便交易者,我们在网站上专门创建一个部分,提供适用于所有平台以及浏览器交易的程序端版本。



  11. 修正将图像嵌入到内部邮件中的问题。
  12. 发布适用于Mac系统的MetaTrader 5程序端新安装程序,支持M1/M2处理器。由于要过渡到Wine 8.0.1,我们强烈建议您删除旧版本,安装新版本。当使用低于8.0.0 Wine版本时,程序端日志中会显示一条有关需要更新的消息。
  13. 在网络扫描菜单中添加“VPS主机加速”,指出到您交易服务器的ping值。这可以使您在租用内置VPS时清楚地看到网络延迟的减少情况。



  14. 加强最低密码复杂度的要求,即:

    • 密码长度 - 至少8个字符
    • 密码必须包含至少1个大小写字母,至少1个数字和至少1个特殊字符。

  15. 程序端日志中的可用链接。现在,当双击带有https链接的行时,用户将被转到他们的浏览器并打开链接。
  16. 修正在“市场报价”中搜索交易品种的问题。现在,首先按名字搜索交易品种,然后按其他字段搜索:描述、ISIN等。
  17. 修正在账户交易历史记录报告中计算结余时对交易利润的计算。在某些情况下,计算时没有考虑交易品种类型。

VPS主机

  1. 添加发送和运行在x64/AVX/AVX2命令集下编译的EX5程序的功能。内置VPS不支持AVX512程序。
  2. 内置VPS订阅位置增加到27个。现在,近距离服务器的可选范围更加广泛。

MQL5

  1. 添加对编译设置的管理,包括扩展处理器指令集的选择 - AVX、AVX2、AVX512和FMA3。

    现代CPU拥有一组高级指令,可以大幅度加快数学计算速度,但绝大多数现代程序并不使用这些功能。我们在MQL5语言编译器中添加了对这些指令的支持,从而可以更高效、更快速地生成代码。

    我们还添加了选择使用编译MQL5程序指令类型的功能。您可以在MetaEditor选项中指定单个程序的常规设置,并在项目设置中应用个人设置:



  2. 将ENUM_AVERAGE_MODE和ENUM_CLASSIFICATION_METRIC枚举添加到矩阵和向量方法中。
  3. 添加向量的设置(Set)方法。
  4. 修正OpenCL初始化 - 现在通过第一次实际使用来初始化,而不是通过加载包含OpenCL函数的MQL5程序来初始化。
  5. 修正调用SocketIsConnected函数时的错误。
  6. 修正卸载自定义指标时调用OnDeinit方法的延迟。
  7. 修正编译器错误,该错误导致indicator_label属性中的字符串长度计算不正确,从而导致图形对象的工具提示显示不正确。
  8. 修正宏主体中多行注释的使用。发生错误的宏示例:
    #define MACRO1 /*
    #define MACRO2 */
    void OnStart()
    {
    #ifdef MACRO2
        Print( 2 );
    #else
        Print( 1 );
    #endif
    }
  9. 修正MathAtan2函数的参数顺序。该顺序现在与C++中的类似函数匹配。
  10. 将TERMINAL_CPU_ARCHITECTURE新值添加到ENUM_TERMINAL_INFO_STRING枚举中。此外,还添加了__CPU_ARCHITECTURE__宏 — 用于获取运行程序端的计算机的CPU架构。使用示例:
    void OnStart()
      {
       Print("CPU name:         ",TerminalInfoString(TERMINAL_CPU_NAME));
       Print("CPU cores:        ",TerminalInfoInteger(TERMINAL_CPU_CORES));
       Print("CPU architecture: ",TerminalInfoString(TERMINAL_CPU_ARCHITECTURE));  
       Print("");
       Print("EX5 architecture: ",__CPU_ARCHITECTURE__);                            
      }
    
    CPU name:         12th Gen Intel Core i9-12900K
    CPU cores:        24
    CPU architecture: AVX2 + FMA3
    
    EX5 architecture: AVX

  11. 更改extern修饰符的行为。现在使用extern修饰符声明变量是变量预声明。

    新限制:
    1. 变量预声明不应该包含初始化。例如,在编译下面代码时,我们会得到以下错误“X - 不允许extern变量初始化(X - extern variable initialization is not allowed)”:
      extern int X=0;
      
      void OnStart()
        {
        }

    2. 在程序中声明"extern"变量时,不应使用"extern"关键字。例如,在编译下面代码时,我们会遇到"未解决的extern变量X(unresolved extern variable X)"错误:
      extern int X;
      
      void OnStart()
        {
        }

    3. 使用"extern"时,必须注意初始化顺序,因为因为变量可以在初始化之前被访问。例如,以下代码会在日志中显示"Y=0 X=5",因为变量Y的初始化发生在变量X的初始化之前:
      extern int X;
      int        Y=X;
      
      void OnStart(void)
        {
         Print("Y=",Y," X=",X);
        }
        
      int X=_Digits;

  12. ALGLIB库更新至版本3.19。ALGLIB是一个高性能的数值分析库,专用于数值方法和数据分析算法。

    我们修正了现有的库类来使用矩阵和向量,还添加了ALGLIB 3.19的新功能。所有的源代码都经过修改,并采用了单一的设计风格。ALGLIB库的源代码位于<程序端数据目录>\MQL5\Include\Math\Alglib。测试脚本位于MQL5\Scripts\UnitTests\Alglib。

    遗憾的是,MQL5 3.19版本的ALGLIB库更改非常明显,因此不存在向后兼容。如果代码使用MQL5 3.5版本的ALGLIB库,您需要明确检查您的程序并做出必要的更改。

    除了库本身之外,测试脚本也进行了更新 - 类的测试数量从62个增加到91个,接口的测试数量从143个增加到152个。因此,MetaTrader 5平台开发人员为交易者提供了更有效的解决方案:

    • MQL5语言,在速度方面的表现与C++不相上下;
    • SQLite数据库的内置处理、OpenCL计算、DirectX支持以及与Python集成;
    • 数学库,包括模糊逻辑统计和更新的ALGLIB

MetaEditor

  1. 添加AVX2指令的使用(在CPU支持的情况下)。
  2. 修正编译过程中导致冻结的错误。
  3. 改进调试时局部变量的显示。

Tester

  1. 添加AVX2指令的使用(在CPU支持的情况下)。

更新用户界面翻译。
修正崩溃日志中的错误报告。


MetaTrader 5网页端build 3950

  1. 在图表设置中添加买价的显示。



  2. 加速初始程序端加载。
  3. 添加更改密码的功能。
  4. 添加删除和保存密码的功能。
  5. 添加用于显示交易历史记录的自定义时段。
  6. 修正强制更改密码的问题。
  7. 修正计算差异 — 开盘价与止盈/止损水平之间的差异。


  8. 修正关闭所有订单/交易时报价停止的错误。
  9. 修正启用经济日历事件时并未显示在图表上的显示错误。
  10. 修正更改图表交易品种时指标重置的问题。
  11. 修正确认电话/邮箱时开设真实账户的错误。
  12. 添加新翻译并更正现有翻译。

8 六月 2023

MetaTrader 5 build 3800:预订或取消(Book or Cancel)订单、AI编码助手和增强ONNX支持

程序端

  1. 添加对新订单成交指令的支持 — 被动/预订或取消(BOC)。


    新订单成交指令 — 被动/预订或取消


    BOC指令意味着只能在市场深度(订单簿)中下订单。如果该订单可以在下单时立即成交,则该订单被取消。事实上,通过该指令可保证所下订单的价格不及当前市场价。BOC用于实现被动交易:保证下单后订单不立即执行,因此不会影响当前的流动性。此成交指令仅支持交易所执行模式中的limit订单和stop limit订单。

    新成交指令的可用性取决于交易商。

  2. 平台切换到使用Microsoft Edge WebView2来显示HTML内容。

    与之前的MSHTML相比,新组件通过提供对现代技术的访问进一步扩展了内容显示功能。WebView2的使用改善了一些平台部分的外观,提高了性能,并创建了一个响应更快的界面。特别是,新组件将影响市场、信号和VPS部分。
    Windows 10引入了对WebView2的全面支持。我们强烈建议所有用户升级到最新操作系统版本并安装所有可用更新。该平台将继续支持Windows 7和Wine下的MSHTML,但不会提供新功能。推荐的最低操作系统版本是Windows 10 21H2(build 19044,2021年11月)。

  3. 完善市场保障体系。现在,若要运行产品,用户必须在平台上获得购买产品时使用的相同MQL5账户的授权。该账户必须在工具\选项\社区部分指定:


    在平台设置中指定您的MQL5账户


    如果没有指定账户或者账户无效,产品将无法启动,平台日志中会显示如下信息:
    'ProductName' requires active MQL5 account in Tools->Options->Community
  4. 在历史部分快捷菜单中添加了概述命令。该命令可以打开该账户的交易报告


    打开交易报告的命令


  5. 修正双重身份验证对话框中的显示错误。如果程序端存在多个号码相同但在不同交易商开立的账户,账户连接表单可能无法显示动态密码字段。
  6. 实现通过DRAW_COLOR_CANDLES显示样式快速渲染指标。
  7. 修正交易报告创建错误。在某些情况下,图表上的利润和净值可能显示不正确。
  8. 在交易报告中添加成本显示。该值显示相对于交易品种的当前中点价格(中点点差成本)执行交易时发生的总成本。这是交易者因点差而损失的金额。该值的可用性取决于交易商。
  9. 更新用户界面的翻译。
  10. 改进在Wine系统下的稳定性,尤其在macOS系统。我们建议完全移除旧程序端并重新安装程序端:


  11. 加快程序包安装速度和更新下载过程。改进选择分配程序包时对用户计算机上AVX可用性的分析。
  12. 在Web协议中启用对TLS 1.3的支持。TLS1.0被认为已弃用且安全性低,因此已被禁用。
  13. 修正交易历史报告中代理手续费的会计核算。计算最终利润时可忽略相关交易。
  14. 修正无法在账户连接对话框中更改服务器的问题。当程序端中有多个来自不同交易商的相同号码的账户时,就会出现这个问题。
从此版本开始,安装程序将仅适用于64位平台版本。将停止对32位版本的支持。之前安装的32位平台版本将在2024年1月1日之后不再支持。

MQL5

  1. ENUM_STATISTICS枚举中添加了新STAT_COMPLEX_CRITERION值。使用该属性获取计算的复杂标准值,作为优化的结果。
  2. 改进RegressionMetric方法,用于根据传递的矩阵或向量计算回归指标。添加vector_true和matrix_true参数,用于传递评估预测数据质量的真值。
    double vector::RegressionMetric(
       const vector& vector_true,         // 真值
       const ENUM_REGRESSION_METRIC metric     // 指标
       );
     
    double matrix::RegressionMetric(
       const matrix& matrix_true,        // 真值
       const ENUM_REGRESSION_METRIC metric    // 指标
       );
     
    vector matrix::RegressionMetric(
       const matrix& matrix_true,               // 真值
       const ENUM_REGRESSION_METRIC metric,   // 指标
       const int            axis   // 坐标轴
       );
  3. 添加LinearRegression方法。它返回一个向量/矩阵,其中包含为传递的向量/矩阵计算线性回归值。
    vector vector::LinearRegression();
     
    matrix matrix::LinearRegression(
       ENUM_MATRIX_AXIS axis=AXIS_NONE          // 沿其计算回归的轴线
       );
    示例:
    vector vector_a;
    //--- 用价格填写向量
    vector_a.CopyRates(_Symbol,_Period,COPY_RATES_CLOSE,1,100);
    //--- 获得线性回归
    vector vector_r=vector_a.LinearRegression();
    该结果在图形中可视化:


    可视化LinearRegression方法返回的结果


  4. 添加HasNan方法,该方法返回矩阵/向量中NaN值的数量。
    ulong vector::HasNan();
    ulong matrix::HasNan();
    当比较具有NaN值的相应元素对时,CompareCompareByDigits方法认为这些元素相等,而在通常的浮点数比较中,NaN != NaN。

  5. 修改用于操作ONNX(开放神经网络交换)模型的OnnxTypeInfo结构:

    struct OnnxTypeInfo
      {
       ENUM_ONNX_TYPE    type;          // 参数类型
       OnnxTensorTypeInfo  tensor;         // 张量描述
       OnnxMapTypeInfo   map;          // 地图描述
       OnnxSequenceTypeInfo sequence;        // 序列描述
      };

    使用新子结构在结构中指定数据类型:

    • OnnxTensorTypeInfo — 张量
    • OnnxMapTypeInfo — 地图
    • OnnxSequenceTypeInfo — 序列

    struct OnnxTensorTypeInfo
      {
       ENUM_ONNX_DATATYPE   data_type;       // data type in the tensor
       long          dimensions[];       // 元素数量
      };
    
    struct OnnxMapTypeInfo
      {
       ENUM_ONNX_DATA_TYPE  key_type;        // key type
       OnnxTypeInfo      type_info;      // 值类型
      };
    
    struct OnnxSequenceTypeInfo
      {
       OnnxTypeInfo      type_info;       // 序列中的数据类型
      };
    根据OnnxTypeInfo::type(ONNX_TYPE_TENSOR、ONNX_TYPE_MAP或ONNX_TYPE_SEQUENCE),填写相关子结构。

  6. 改进对ONNX模型的支持。
  7. 添加CopyIndicatorBuffer方法,可以将指标缓冲区数据获取到 向量中。
    bool vector::CopyIndicatorBuffer(long indicator_handle,ulong buffer_index,ulong start_pos,ulong count);
    bool vector::CopyIndicatorBuffer(long indicator_handle,ulong buffer_index,datetime start_time,ulong count);
    bool vector::CopyIndicatorBuffer(long indicator_handle,ulong buffer_index,datetime start_time,datetime stop_time);
  8. 修正FrameAddFrameNext方法中具有两个或更多维度的数组的操作。
  9. 修正CRedBlackTree::Remove标准程序库的方法。
  10. 实现模糊逻辑库中的修复。

MetaEditor

  1. 添加与高级自动编码助手AI Assistant的集成。其操作基于OpenAI模型。输入注释或函数的一部分并发送提示。神经网络将分析提示并提供编码选项来实现这一想法。

    根据文件类型,字符串“MQL5语言”、“Python语言”或“C++语言”会自动插入到每个提示开头。因此,神经网络将以所需的语言提供结果。

    AI Assistant目前是免费的,并且已在编辑器中启用。在Tools(工具)\ Options(选项)\ AI Assistant 下有几个选项可用:


    AI Assistant设置


    付款设置:

    • 使用您的MQL5账户:此选项目前免费提供。稍后,您将能够直接从您的MQL5账户余额中支付订阅费用。
    • 如果您已购买订阅并拥有相关密钥,请使用OpenAI密钥。

    提示设置:

    • 模型 — 一个将处理您的请求的神经网络。目前可用text-davinci-003和gpt-3.5-turbo。不久将添加对gpt-4的支持。
    • 最大令牌数 — 模型可以响应提示返回的文本单元数。
    • 可变性 — 影响神经网络遵循提示的严格程度。值越大,结果随机性越大。该选项对应于OpenAI模型中的温度参数。

  2. 添加查看ONNX模型属性的功能。

    您可以直接在编辑器中查看*.onnx文件的内容。例如,在Toolbox \ Public Projects下找到项目ONNX.Price.Prediction并在快捷菜单中选择加入。该项目将下载到您的计算机并显示在导航器中。


    直接在MetaEditor中打开ONNX模型


  3. 添加使用 Netron可视化机器学习模型和神经网络的功能。该查看器支持多种流行模型,包括ONNX、TensorFlow Lite、Caffe、Keras和ncnn等。

    要查看模型,请在导航器中选择其文件并单击“在Netron中打开”。如果未安装此实用程序,将打开其GitHub页面 ,您可以根据您的操作系统从中下载相关安装程序。例如,使用适用于Windows的 Netron-Setup-XXXexe。如果程序已安装,模型将立即打开,以便从导航器中查看。


    使用Netron的可视化机器学习模型


    支持的格式:

    • armnn, caffemodel, circle, ckpt, cmf, dlc, dnn, h5, har, hd5, hdf5, hn, keras, kmodel,
    • lite, mar, meta, mge, mlmodel, mlnet, mlpackage, mnn, model, nb, ngf, nn, nnp,
    • om, onnx, ort, paddle, param, pb, pbtxt, pdiparams, pdmodel, pdopt, pdparams, prototxt, pt, pth, ptl,
    • rknn, t7, tfl, tflite, tmfile, tm, tnnproto, torchscript, uff, xmodel

  4. 更新用户界面的翻译。

Tester

  1. 修正测试报告中“平均亏损交易”指标的计算。以前,如果对此类交易收取手续费,计算可能会错误地包括进场交易。
  2. 改进策略测试中的自定义手续费的选项。要设置交易品种,请指定其名称而不是整个路径。
  3. 更新策略测试中的图标。新隐喻将使它们更容易理解。

修正崩溃日志中的错误报告。


网页端

  1. 改进交易历史部分:

    • 交易历史中添加结余操作的展示,如存取款、手续费、和调整等。
    • 在交易历史中添加总计显示:结余、盈利、手续费、存款、取款和订单数量等。
    • 添加在移动版本中按深度对操作进行排序和过滤历史记录的功能。


    更新交易历史部分


  2. 加强交易品种合约规范。添加了以下信息:交易量限制、报价大小和价值、初始预付款和锁仓预付款。
  3. 改进配色方案:

    • 挂单在图表上以灰色显示。持仓颜色取决于持仓方向:红色代表卖出,蓝色代表买入。新颜色提供了更便利的导航,尤其是在图表上显示大量操作的时候。
    • 当查看/编辑持仓时,只有这个持仓和它的水平高亮显示,而所有其他持仓和订单变成灰色,水平从价格标尺中隐藏。因此,将更容易管理单独的操作。
    • 止损颜色已从红色更改为橙色,以避免与卖出持仓混淆。
    • 改进图表上指示平仓时间的图标。绿色图标用于止盈平仓,红色图标用于止损平仓。

  4. 添加阿拉伯语、保加利亚语、越南语、希腊语、印度尼西亚语、马来语、荷兰语、波斯语、波兰语、泰语、乌克兰语和印地语的界面翻译。该网页端现已提供24种语言。
  5. 修正土耳其语的用户界面翻译。
  6. 修正在网页端移动版挂单修改删除问题。
  7. 修正图表上的“关闭市场”工具提示。
  8. 修正交易对话框中平仓按键的利润显示。错误通常发生在部分平仓期间。
  9. 修正图表交易通知的显示。
  10. 修正在市场深度中使用箭头修改交易量的问题。
  11. 修正在某些情况下可能导致运行指标设置被重置的错误。
  12. 修正开设新账户时的用户名检查。以前,认为名称中的撇号是错误的。
  13. 修正重新报价的处理。在某些情况下,可能不会显示包含重新报价的对话框。
  14. 修正Ichimoku Kinko Hyo指标的显示。Chikou-Span、Up Kumo和Down Kumo线将以正确的偏移量显示。
  15. 修正在开设新订单时初始预付款的检查问题。该问题通常出现在锁仓持仓账户系统。
  16. 修正合约规范窗口中的滚动问题。

MQL5.community

  1. MQL5云网络网站已整体重新设计:https://cloud.mql5.com

    了解如何使用全球数千台计算机的处理能力来优化您的交易策略。通过MQL5云网络,即使最繁重的计算也可以在几分钟内完成。访问该网站并了解如何参与该网络以及如何通过提供您的计算机资源来获得收入。


    访问更新的MQL5云网络网站


  2. 改进市场 产品中的屏幕截图部分。作者最高可以上传1920*1800像素的图片来演示应用程序的工作原理。屏幕截图库也已更新。滚动播放显示图像缩略图,单击它们可打开全尺寸图像。


    改进市场中的屏幕截图部分


  3. 自由职业者服务部分的改进。现在用户在首次下单时将收到更多提示:

    • 需求规范示例和添加提醒
    • 订单创建说明
    • 模板使用技巧

    这些提示可以帮助您创建订单并获得所需的结果。


    自由职业者服务的改进

24 三月 2023

MetaTrader 5 build 3660:其他改进和修复

客户端

  1. 修正偶尔出现的不正确的平台日志创建。
  2. 更新用户界面的翻译。

MQL5

  • 修正对全局变量的检查。当在不同的命名空间声明相同的变量时,编译器会给出一个错误的警告,即该变量已经被声明。

网页端

  1. 添加葡萄牙语的用户界面翻译。该网页端现已提供12种语言。
  2. 修正添加标准偏差指标的对话框。
  3. 其他小问题的修正和改进。
12345678