新版 MetaTrader 5 平台 build 2815:从Python访问市场深度,改进调试器和分析工具

 

MetaTrader 5 平台更新于2021年2月26日星期五进行发布。新版将有以下变化:

  1. 程序端:添加通过Python API访问市场深度数据的功能。

    三项新功能可以快速获取用于统计计算和机器学习任务的数据,这可以使用大量即用型Python程序库来实现。

    • market_book_add — 订阅MetaTrader 5 程序端,接收与指定交易品种市场深度更改相关的事件。
    • market_book_get — 从BookInfo返回一个元组,其中包含指定交易品种的市场深度记录。
    • market_book_release — 取消MetaTrader 5 程序端订阅与指定交易品种市场深度更改相关的事件。

  2. 程序端:推送通知的最大长度从256个字符增加到1024个字符。现在,您可以从移动设备上的MQL5程序发送更多信息。
  3. 程序端:添加任务管理器的初始版本,它可以通过按F2键来调用。

    任务管理器可以监视平台消耗的资源。您可以查看图表消耗的内存量,EA交易以及其他性能指标使用的CPU资源。如果平台性能下降,则可以轻松检测并解决问题。


    使用任务管理器来控制平台消耗的资源


  4. 程序端:加强订阅服务。为有延迟报价的交易品种添加特殊指示:

    • 市场报价中的交易品种标记为时钟图标,并且延迟值显示在工具提示中
    • 数据延迟通知显示在图表上


    有延迟报价的交易品种以特殊指示标记


  5. 程序端:修正没有交易账户连接时的订阅列表显示。
  6. 程序端:修正电子邮件和时事通讯中的链接。现在,所有链接都在默认浏览器中打开。以前,链接仅在IE中打开。
  7. 程序端:修正从WebRequest函数到包含IPv6地址和Cloudflare保护的主机的连接。
  8. 程序端:改进VPS服务的功能和响应能力。
  9. 程序端:改进WineMacOS/Crossover下的操作,包括带有M1处理器的macOS Big Sur版本。
  10. MQL5:修正ArrayPrint函数中的错误。该函数有时可能无法打印数组。
  11. MQL5:优化通过File*函数执行的文件操作。现在,文件读取和写入操作运行得更快。
  12. MQL5:取消当动态数组用作函数参数时要求指定动态数组第二,第三和第四维度大小的限制。这增加了代码的重用性和灵活性。
    void func(int &arr[ ][ ][ ][ ])
      {
      }
  13. MQL5:修正ArrayBsearch函数的操作。该函数可能会在二进制搜索过程中返回找到的元素的错误索引。
  14. MetaEditor:经过改进的调试器中提供了更多新功能。

    • 现在,数组将根据ArraySetAsSeries设置的排序显示在观察窗口中。
    • 添加对局部静态变量的支持。
    • 修正指定数组元素值的显示。
    • 修正处理“静态”类字段。
    • 为更准确而可靠的调试而进行的其他改进。

  15. MetaEditor:添加“在分析中启用优化”的选项。

    可以禁用代码优化模式,以便在性能分析报告中包含更多详细信息。没有优化的代码速度可能会慢几倍,但是此模式可提供更广泛的代码覆盖范围。请注意,通过优化的代码瓶颈可能不准确。

    可以通过禁用“在分析中启用内联”来设置较温和的分析模式。


    添加在分析过程中启用和禁用代码优化的功能

    优化管理选项也已添加到项目设置

    • 如果在项目中禁用优化,则新选项将被忽略,因此,性能分析将始终禁用优化(包括内联操作)。
    • 如果在项目中启用优化,则在性能分析编译期间将考虑新选项。

  16. MetaEditor:添加用于调试和分析过程的日志记录。在操作开始时记录环境设置;在操作停止时记录收集的数据统计信息。
    MQL5 profiler    starting 'ExpertMACD.ex5' on history with parameters:
    MQL5 profiler       symbol: 'EURUSD'
    MQL5 profiler       period: 'H1'
    MQL5 profiler       date from: '2021.01.01'
    MQL5 profiler       date to: '2021.02.22'
    MQL5 profiler       ticks mode: 'every tick'
    MQL5 profiler       execution delay: 0 ms
    MQL5 profiler       deposit: 10000
    MQL5 profiler       currency: 'USD'
    MQL5 profiler       leverage: 1:100
    MQL5 profiler       profit in pips: NO
    MQL5 profiler    profile data received (4640 bytes)
    MQL5 profiler    758 total measurements, 0/0 errors, 470 kb of stack memory analyzed
    MQL5 profiler    7782 total function frames found (1929 mql5 code, 342 built-in, 1403 other, 4108 system)
  17. Tester:修正高级测试设置中的非交易时间的规范。
  18. 更新文档。


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

 


升级最新的 build 2815 正式版本后, EA中所使用的函数playsound()失效,有同道中人吗?
 
Tiecheng Fu:
升级最新的 build 2815 正式版本后, EA中所使用的函数playsound()失效,有同道中人吗?

It was reply from the developers -

 
Tiecheng Fu:
升级最新的 build 2815 正式版本后, EA中所使用的函数playsound()失效,有同道中人吗?

You can check it in this new beta (Metatrader 5 build 2816) -

 
Sergey Golubev:

You can check it in this new beta (Metatrader 5 build 2816) -

感谢您的回复,问题已经修复了,谢谢!

原因: