---
title: "MetaTrader 5 build 4230：更多内置应用程序和扩展ONNX支持 - 更新历史"
description: "推出纳斯达克市场数据订阅的准备工作正在进行中。通过该平台，交易者将能够访问来自最大交易所之一的数百种交易品种的实时报价和深入价格历史记录。 - 更新历史"
image: "https://www.metatrader5.com/c/17/1/metaeditor-book.png"
url: "https://www.metatrader5.com/zh/releasenotes/terminal/2353"
---

# MetaTrader 5 build 4230：更多内置应用程序和扩展ONNX支持

## 推出纳斯达克市场数据订阅的准备工作正在进行中。通过该平台，交易者将能够访问来自最大交易所之一的数百种交易品种的实时报价和深入价格历史记录。

7 三月 2024

### 程序端

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等。

   ![在标准平台包中添加28个新EA交易和12个新指标。](https://www.metatrader5.com/c/17/1/terminal_1.png)
2. 推出[纳斯达克](https://www.mql5.com/go?link=https://www.nasdaq.com/)市场数据订阅的准备工作正在进行中。通过该平台，交易者将能够访问来自最大交易所之一的数百种交易品种的实时报价和深入价格历史记录。任何在MetaQuotes-Demo服务器上拥有模拟账户和拥有MQL5.community账户的用户都可以订阅。

   ![纳斯达克市场数据订阅](https://www.metatrader5.com/c/17/1/terminal_2.png)

    首先，您只需购买订阅并将相关交易品种添加到您的市场报价中。您可以将这些交易品种用作常规交易品种：打开图表，使用对象和指标对其进行分析，并在策略测试器中运行EA交易。访问所有信息的方式与您与交易商合作的普通交易品种一样。
3. 改进交易品种规格中的预付款部分。该部分现在提供每个交易品种的预付款率和计算值。

   ![改进交易品种规格中的预付款部分](https://www.metatrader5.com/c/17/1/terminal_3.png)

    修正某些交易品种类型的预付款显示错误。
4. 在“帮助”菜单中添加[MQL5 Telegram频道](https://www.mql5.com/go?link=https://t.me/mql5dev)的链接。该频道定期分享开发人员感兴趣的内容，包括对新[编程文章](https://www.mql5.com/zh/articles)的评论以及来自 [代码库](https://www.mql5.com/zh/code)的免费EA和指标。订阅该频道以时刻关注更新消息，确保您不会错过重要信息。

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

### MQL5

1. 在[ENUM_MQL_INFO_INTEGER](https://www.mql5.com/zh/docs/constants/environment_state/mql5_programm_info)枚举中添加MQL_STARTED_FROM_CONFIG属性。如果脚本/EA交易从[配置文件](https://www.metatrader5.com/zh/terminal/help/start_advanced/start#configuration_file)的StartUp部分启动，则返回true。这意味着脚本/EA交易已在启动程序端的配置文件中指定。
2. 我们继续扩大对[ONNX模型](https://www.mql5.com/zh/docs/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](https://en.wikipedia.org/wiki/Half-precision_floating-point_format)。
     - FLOAT_BFP16 – 特殊的[脑浮点](https://en.wikipedia.org/wiki/Bfloat16_floating-point_format)格式。

    对于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。通常用于[渐变](https://www.mql5.com/zh/articles/11200)。
     - FLOAT_FP8_E5M2FNUZ — 8位浮点数，5位表示指数，2位表示尾数。支持NaN，不支持负零和Inf。也用于渐变。
3. 添加机器学习中使用的新矩阵和向量方法：<https://www.mql5.com/zh/docs/matrix/matrix_machine_learning/matrix_precisionrecall>

     - [PrecisionRecall](https://www.mql5.com/zh/docs/matrix/matrix_machine_learning/matrix_precisionrecall)计算数值以构建精确调用曲线。 [ClassificationScore](https://www.mql5.com/zh/docs/matrix/matrix_machine_learning/matrix_classificationscore)类似，此方法应用于真实值向量。
     - [ReceiverOperatingCharacteristic](https://www.mql5.com/zh/docs/matrix/matrix_machine_learning/matrix_roc)— 计算数值以构建接收者操作特征(ROC)曲线。与ClassificationScore类似，此方法应用于真实值向量。
4. [ONNX Runtime](https://www.mql5.com/zh/docs/onnx)已更新至1.17版本。有关发布说明的详细信息，请参阅[GitHub](https://www.mql5.com/go?link=https://github.com/microsoft/onnxruntime/releases)。
5. [Python集成包](https://www.mql5.com/zh/docs/python_metatrader5)更新至5.0.4200版本，添加对Python 3.12的支持。使用“pip install -- pgrade MetaTrader5”命令更新您的软件包以获取最新更改。
6. 修正某些情况下的[OrderCalcMargin](https://www.mql5.com/zh/docs/trading/ordercalcmargin)函数操作的问题。
7. 在[ENUM_DEAL_REASON](https://www.mql5.com/zh/docs/constants/tradingconstants/dealproperties#enum_deal_reason)枚举中添加了DEAL_REASON_CORPORATE_ACTION属性。它表示由于公司行动而执行的交易：合并或重新命名证券、将客户转移到另一个账户等。
8. 为[比较](https://www.mql5.com/zh/docs/matrix/matrix_manipulations/matrix_compare)方法添加对复向量和矩阵比较的支持。比较涉及到复数之间距离的估算。距离的计算公式为sqrt(pow(r1-r2, 2) + pow(i1-i2, 2)，是一个已经可以与epsilon进行比较的实数。
9. 修正将颜色类型变量转换为RGB格式文本的问题。
10. 修正在复特征值的情况下，返回[Eig](https://www.mql5.com/zh/docs/matrix/matrix_decompositions/matrix_eig)方法获取特征向量的结果。为复杂评估添加方法重载。

### MetaEditor

1. 在帮助\MQL5.community菜单中添加最近发布的书籍“[MQL5交易者编程](https://www.mql5.com/zh/book)”的链接。该书也已添加到搜索系统，因此您可以直接从MetaEditor找到所需的信息：

   ![添加“MQL5交易者编程”一书的搜索](https://www.metatrader5.com/c/17/1/metaeditor-book.png)
2. 内置搜索改进：

     - 工具箱窗口中的搜索结果部分分为两个选项卡：“搜索”用于在线搜索结果（文档、文章、书籍等），“在文件中搜索”用于本地结果。
     - 单独的搜索字符串已添加到结果部分。您可以使用它来代替MetaEditor主工具栏中的搜索栏。
3. 从[命令行](https://www.metatrader5.com/zh/metaeditor/help/beginning/integration_ide#compiler)编译命令时添加对[AVX、AVX2和AVX512](https://www.metatrader5.com/zh/metaeditor/help/development/compile#architecture)模式的支持。要进行编译，请在下列键中选择一个添加到命令中：/avx、/avx2或/avx512。
4. 用于[数据库](https://www.mql5.com/zh/docs/database)操作的SQLite引擎更新至版本3.45。
5. 禁用对Internet Explorer的支持。现在仅使用[Microsoft Edge WebView2](https://www.mql5.com/go?link=https://developer.microsoft.com/en-us/microsoft-edge/webview2/)来显示HTML页面。与之前的MSHTML相比，新组件通过提供对最新技术的访问，进一步扩展了内容显示功能。WebView2的使用改善了某些MetaEditor部分的外观，提高了性能，并创建了一个响应速度更快的界面。
6. 修正在极少数情况下函数自动完成时发生的冻结问题。
7. 修正崩溃日志中的错误报告。
8. 修正在极少数情况下函数自动完成时发生的冻结问题。

### Tester

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

### **MetaTrader 5网页端**

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

![改进合约规格中预付款要求的显示](https://www.metatrader5.com/c/17/1/webterminal-margin.png)

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

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

- [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)
- [MetaTrader 5 build 3950：在程序端出入金，更新的交易报告](https://www.metatrader5.com/zh/releasenotes/terminal/2304)
