MetaTrader 5 build 4260:其他改进

修正订阅服务中订阅免费产品时出现的错误

22 三月 2024

程序端

  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. 修正市场报价中选定交易品种计数器的显示问题。