业务

MetaTrader 5 build 2980: 交易操作的推送通知

MetaTrader 5新功能

18 六月 2021

程序端

  1. 添加从服务器接收推送通知的功能。即使您的程序端关闭的情况下,您也能收到已执行交易操作的通知。



    在早期版本中,移动设备的通知只能从交易者桌面程序端发送。交易操作执行后,程序端向设置中指定的MetaQuotes ID发送相关通知。通知只能从正在运行的程序端发送。此要求已被取消。如果在您的计算机关闭时在服务器上触发止盈,您将收到来自服务器的平仓通知。

    要开始从服务器接收通知,您应该:
    • 拥有真实账户,因为服务器通知不适用于模拟账户
    • 在您的智能手机上安装MetaTrader 5 iOSAndroid
    • 在移动端打开消息部分,找到您的MetaQuotes ID并将其指定在桌面程序端的设置中
    • 在桌面程序端设置中启用服务器通知

    服务器通知应由您的交易商提供

    支持三种通知类型:订单操作、交易操作和结余操作。当您启用该选项时,可用的通知类型将显示在程序端日志中:
    '1222': subscribed to deals, orders, balance notifications from trade server

  2. 更新MetaTrader VPS展示。VPS部分变得更加方便:
    • 界面适应任何屏幕宽度。
    • 展示区占用的垂直空间更少,以适应工作区域。
    • 必要的信息仅在需要时出现。付款详细信息仅在您选择付款计划后显示。



    程序端:在策略测试面板中,添加用于快速切换到MQL5服务和工具箱窗口的命令。这些命令仅显示在“概览”部分,而在其他选项卡中,该面板用于管理测试。



  3. 为MQL5服务添加窗口状态的保存。如果您在关闭程序端之前将市场保持打开状态,相关窗口将在您下次启动程序端时打开。
  4. 修正定期同步MQL5账户状态。由于出现错误,信号复制在某些情况下可能会失败。
  5. 修正显示一系列推荐的市场产品。
  6. 修正导航器中的信号快捷菜单。您可以使用菜单查看您订阅的信号或取消订阅信号。

MQL5

  1. 修正在标准程序库(file MQL5\Include\Math\Alglib\complex.mqh)中实现复数时的"-"运算符错误。
  2. 现在您可以在初始化序列中使用任何表达式,而不仅仅是常量表达式。这可以提高可用性和与C++代码的兼容性。
    struct POINT
      {
       int x,y;
      };
    
    int GetYFunc(y)
      {
       return(y * y);
      }
    
    void SomeFunction(int x1,int x2,int y)
      {
       POINT pt={ x1+x2, GetYFunc(y) };
       ProcessPoint(pt);
      };
  3. 修正在以大量数据数组编译union时发生的错误。
  4. 修正StringToCharArray函数操作。现在它将整个传递的字符串转换为Char数组,而不是在第一个终止null字符处停止。
  5. 如果类/结构的父类没有默认构造函数,则添加对类/结构的构造函数调用的显式存在的控制。

MetaEditor

  1. 分析工具报告中添加显示内联函数的调用位置。

    在下面示例中,func();调用现在突出显示如下:



    func函数本身不会突出显示,因为它的完整代码位于OnStart中。

  2. 添加创建空项目的功能。对于具有默认模板不适合的特定文件结构的非标准开发项目,这是一个有用的功能。



    在这种情况下,将创建一个空设置文件"mqproj"。应手动创建源代码文件。

  3. 实现快速启动MetaEditor。
  4. 修正调试期间观察表达式列表中的数据显示。在某些条件下,该列表可能会显示不正确的变量值。
  5. 修正将".py"扩展名自动添加到使用MQL向导创建的Python脚本文件的问题。
更新文档。