在 cTrader 中优化 cBot
本文解释了如何在 cTrader Windows 和 Mac 中优化交易机器人。
为 cBot 指定一组最佳初始参数可能很困难。 幸运的是,cTrader 提供了内置的 cBot 优化功能。 优化会获取您的代码并多次运行,每次运行都基于不同的参数值。 然后,它会向您展示一组可自定义的结果,您可以使用这些结果来定义最佳参数配置。
要使用此功能,请选择一个 cBot 实例并切换到优化选项卡。

之后,使用下拉日历或拖动滑块定义优化的回测周期。

优化设置
由于优化本质上只是一系列回测,您可以像在回测选项卡中一样指定回测设置。
优化参数
点击日历滑块左侧的参数按钮。 您应该会看到以下窗口。

在其中,勾选您希望优化的 cBot 参数旁边的标志。 时间周期参数适用于所有 cBot。
优化标准
按下优化参数按钮右侧的标准按钮。 cTrader 将打开以下选项卡。

优化标准定义了优化算法在回测后如何对您的结果进行排名。 您可以在以下选项之间进行选择:
- 标准 - 一系列预定义的标准,您可以将其最小化或最大化。 为此,从右侧的下拉菜单中选择一个标准,并在其相关的左侧菜单中选择优化方向。 要添加新标准,请点击添加标准。
- 自定义 - 在您的 cBot 代码中使用
GetFitness()方法定义的自定义标准,如下例所示。
1 2 3 4 5 | |
1 2 3 4 5 6 | |
多标准计算
如果使用多个标准来计算参数有效性,cTrader 将平等使用所有这些标准来计算优化过程的适应值。
具体来说,平台将所有最大化标准的值相乘,并分别将所有最小化标准的值相乘。 随后,它将最大化标准的绝对乘积值除以最小化标准的相同值。
以下伪代码准确展示了多标准适应值的计算方法。
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
方法
点击方法按钮(根据所选选项表示为 GA 或 #)。 在以下菜单中,选择平台使用的优化方法。

以下选项可用:
- 遗传算法 - 该算法模拟生物进化过程。 请参阅单独的部分以获取详细描述。
- 网格 (#) - 该算法依次回测每组可能的参数。
注意
据我们估计,遗传算法在寻找最佳参数值方面明显更快。
资源
点击资源按钮以选择用于回测的 CPU 负载百分比。 移动滑块以设置 CPU 使用百分比。
分配的资源越多,优化过程完成得越快。 但是,在使用其他应用程序时,您可能会看到性能下降。

请注意,CPU 资源也可以在优化过程中进行调整。
启动和管理优化过程
要开始优化,请点击日历滑块右侧的 播放 按钮。 根据您的机器资源、优化设置和 cBot 的复杂性,优化可能需要一些时间。
日历滑块下方的 UI 栏将提供有关已完成回测轮次、已用时间和剩余时间估计的信息。

同时,优化 选项卡中的中央屏幕将提供一个实时网格,其中包含有关算法已完成的所有回测轮次的信息。

要应用在某个轮次中测试的参数集,请点击 应用 按钮。 只有在当前没有优化过程运行时,该按钮才会激活。
或者,勾选左上角的 自动选择最佳轮次 标志,cTrader 将根据您指定的优化标准自动选择最佳轮次(及其参数)。
优化结果
优化完成后,中央表格将显示所有回测轮次及其结果的最终列表。
该表格包含以下列。 由于网格是完全可配置的,这些列可以通过右键点击表格并从上下文菜单中取消选择来拖放或完全禁用。
| 字段 | 定义 |
|---|---|
| 轮次 | 轮次编号。 |
| 适应度 | 展示该轮次与优化标准的契合程度的值。 |
| 净值 | 轮次结束时的总净值。 |
| 余额 | 轮次结束时的总余额。 |
| 净盈利 | 最终余额与初始余额之间的差额。 |
| 交易 | 已平仓的总数量。 |
| 盈利交易 | 该轮次中实现的盈利交易总数。 |
| 亏损交易 | 该轮次中实现的亏损交易总数。 |
| 盈利系数 | 总盈利/总亏损比率。 |
| *最大净值回撤 (%) | 最大净值回撤百分比。 |
| 最大余额回撤 (%) | 最大余额回撤百分比。 |
| 最大净值回撤 | 以账户存款货币指定的最大净值回撤。 |
| 最大余额回撤 | 以账户存款货币指定的最大余额回撤。 |
| 平均交易 | 该轮次中所有交易的平均盈利。 |
| 轮次参数 | 点击该列中的 应用 按钮,将该轮次的参数应用到您的 cBot 中。 |
选择一个轮次以在中央网格下方的显示中查看其详细统计信息。
该显示中的前七个选项卡提供与 回测 窗口中的 相同选项卡 相同的信息。 轮次参数 选项卡是优化独有的。
轮次参数
轮次参数 选项卡提供以下信息。

cTrader 会将所有优化的参数以绿色高亮显示,而任何固定参数(未在 参数菜单 中启用)将保持未高亮状态。
保存和加载优化结果
cTrader 还允许将优化结果保存到本地存储的 .optres 文件中,并从该文件中加载优化结果。
注意
.optres 文件只是一个键值对的集合,键代表各种优化设置和指标。
提示
您可以使用 .optres 文件在多台本地机器上继续优化您的 cBot,而不会丢失任何进度。 您还可以将该文件中的数据输入生成式 AI 工具,以尝试检测您的 cBot 完成的轮次中的任何模式。
要保存优化结果,请等待过程结束后点击 保存 图标。 在文件资源管理器对话框中,输入文件名并保存文件。
要加载优化结果,请点击 加载 图标,并在文件资源管理器窗口中选择所需的文件。
