---
title: "MetaTrader 5 build 4260：其他改进 - 更新历史"
description: "修正订阅服务中订阅免费产品时出现的错误 - 更新历史"
image: "https://www.metatrader5.com/c/17/1/metaeditor-search.png"
url: "https://www.metatrader5.com/zh/releasenotes/terminal/2354"
---

# MetaTrader 5 build 4260：其他改进

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

22 三月 2024

### 程序端

1. 修正[订阅](https://www.metatrader5.com/zh/releasenotes/terminal/2137)服务中订阅免费产品时出现的错误。在某些情况下，对话框中可能不显示相关按键。
2. 更新用户界面的翻译。

### MQL5

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

     - 为[OnChartEvent](https://www.mql5.com/zh/docs/event_handlers/onchartevent)处理程序添加CHARTEVENT_KEYUP事件。它可以追踪与键释放相关的事件。
     - 添加[无效键](https://en.wikipedia.org/wiki/Dead_key)处理功能。这些键可以修改最后按下的键所生成的字符的外观。例如，在希腊语的布局中，重读元音ά、έ、ύ等可以通过先按";"再按元音来生成。使用[TranslateKey](https://www.mql5.com/zh/docs/common/translatekey)函数可以追踪这类键的按下情况。
     - 改进[TranslateKey](https://www.mql5.com/zh/docs/common/translatekey)和[TerminalInfoInteger](https://www.mql5.com/zh/docs/check/terminalinfointeger)函数。现在，在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*](https://www.mql5.com/zh/docs/chart_operations/chartgetdouble)函数的错误。

### MetaEditor

1. 添加对[MQL5算法交易的神经网络](https://www.mql5.com/zh/neurobook)一书内容的搜索。新选项与之前出版的[交易者MQL5编程](https://www.mql5.com/zh/book)一书出现在同一部分。

   ![添加对“MQL5算法交易的神经网络”一书内容的搜索](https://www.metatrader5.com/c/17/1/metaeditor-search.png)

### Tester

1. 修正使用大量[远程代理](https://www.metatrader5.com/zh/terminal/help/algotrading/strategy_optimization#farm)时的优化问题。在某些情况下，该错误可能会导致CPU占用率过高。

### MetaTrader 5网页端

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

**请参阅前面的新闻：**

- [MetaTrader 5 build 4230：更多内置应用程序和扩展ONNX支持](https://www.metatrader5.com/zh/releasenotes/terminal/2353)
- [MetaTrader 5 build 4150：交易报告导出和MQL5新机器学习方法](https://www.metatrader5.com/zh/releasenotes/terminal/2342)
- [MetaTrader 5 build 4040：其他改进和修复](https://www.metatrader5.com/zh/releasenotes/terminal/2322)
- [MetaTrader 5 build 4000 :改进交易报告和网页端](https://www.metatrader5.com/zh/releasenotes/terminal/2313)
- [MetaTrader 5 build 3980：其他改进和修复](https://www.metatrader5.com/zh/releasenotes/terminal/2308)
