跳转至

在 cTrader 中回测 cBot

本文解释了如何在 cTrader Windows 和 Mac 中回测交易机器人

回测是一种评估 cBot 的工具,允许它们在某些预定义条件下对历史市场数据进行交易。

进行回测时,您可以在过去的市场走势上运行 cBot 实例。 之后,cTrader 将生成一份详细报告,包括您的 cBot 执行的交易操作以及最终的净值/余额统计。

注意

回测 cBot 时执行的任何交易操作都不会影响您的任何账户。 回测并不涉及任何实际资金。 相反,此功能仅用于分析目的。

要回测 cBot,请选择其中一个实例并切换到回测选项卡。

Image title

回测设置

要设置回测的工作方式,请点击左上角的齿轮图标。 cTrader 应该打开以下菜单。

Image title

该菜单中的选项定义如下。 所有与金钱相关的参数(如初始资金)均以美元指定。

选项名称 操作和描述
初始资金 定义您的 cBot 在交易时将使用的初始资金。
佣金 设置每百万交易单位的佣金率。
数据 选择您的 cBot 将在哪些时间序列数据上进行测试。 可用选项如下。
  • 来自服务器的跳动点数据。 数据将直接从服务器按跳动点获取。 这是最准确的历史数据源。
  • 来自服务器的 M1 K 线。 数据将从服务器生成的一分钟 K 线获取。
  • CSV 文件中的 M1 K 线。 数据将从本地存储的 CSV 文件中定义的一分钟 K 线获取。
  • 来自服务器的 H1 K 线 数据将从服务器生成的一小时 K 线获取。
点差 选择回测期间将应用的点差值。 以下选项可用。
  • 固定值。 在整个回测过程中只应用一个值。 您可以从下拉菜单中选择,输入自定义值,或将值与当前符号点差匹配(每个跳动点更新)。
  • 随机。 设置最小和最大点差率。 当您的 cBot 下单时,将应用一个介于所选范围内的随机点差值。

CSV M1 数据示例

要从本地机器获取交易数据,请确保创建一个包含以下数据的逗号分隔 CSV 文件:

  • 日期
  • 每时
  • 开盘价
  • 最高价
  • 最低价
  • 收盘价
  • 交易量

示例

1
2
3
4
2003.06.18,16:01,1.11423,1.11428,1.11332,1.11374,19
2003.06.18,16:02,1.11364,1.11436,1.11361,1.11405,7
2003.06.18,16:03,1.11402,1.11455,1.11400,1.11440,5
2003.06.18,16:04,1.11446,1.11461,1.11401,1.11447,14

回测程序和模式

使用以下控件指定测试期间:

  • 使用回测选项卡顶部的交互式滑块。
  • 从滑块左右两侧的日历菜单中选择必要的值。
  • 在滑块两侧的字段中输入自定义值(使用 DD:MM:YYYY 格式)。

Image title

您可以使用以下模式运行回测:

  • 非实时测试:您的机器人按顺序执行所有必要的操作;之后,您只能访问最终结果,包括交易统计、净值图表等。
  • 实时(可视化模式)测试:您提供的历史数据以您可以自定义的某个回放速度传递给您的 cBot。 因此,您可以看到交易操作的下单过程。 所有交易统计数据也会按您选择的回放速度更新。

非实时测试

设置完成后,点击滑块右侧的播放按钮。 根据指定时期的长度和您本地机器的配置,您可能需要等待几分钟才能让 cTrader 生成结果。

实时(可视化模式)回测

指定所需设置,包括测试时期,并启用日历滑块下方的可视化模式标志。

Image title

通过拖动速度滑块或使用其右侧的菜单来调整数据回放速度。 完成设置后,点击播放按钮。

cTrader 随后将开始实时显示所选时期的交易图表,使用您的回放速度设置进行加速。 请注意,您可以在回测进行时动态调整回放速度。

根据其代码,您的 cBot 也将实时执行交易操作,对图表中出现的技术分析信号做出反应。 回测统计数据将根据您的 cBot 采取的行动自动更新。

根据您选择的时期和回放速度,可视化模式测试可能会耗时较长。 尽管如此,如果您的 cBot 表现不如预期,您可以使用可视化模式测试和来自 CSV 文件的自定义交易数据来测试其对各种市场条件的反应。

使用 Renko 图表和区间柱图进行回测

cTrader 支持在 Renko 和区间柱图上回测 cBot。 要执行此类回测,请创建一个新的 cBot 实例,并选择 Renko/区间柱图作为其附加的交易图表。

Image title

或者,在已选择 cBot 实例的情况下,通过点击更多图标使用屏幕顶部的图表选择器菜单。 在出现的菜单中,选择一个可用的成交量阈值来生成 Renko 砖块或区间柱。

Image title

cTrader 为所选符号生成 Renko/区间柱图后,切换到回测选项卡。 在其中,像平常一样配置回测模式/设置。 点击播放图标在所选图表上执行回测。

回测结果

cTrader 生成多项交易统计数据来展示回测结果。 要查看这些数据,请转到交易图表正下方的选项卡。

Image title

净值图表

执行回测时(无论是否使用可视化模式),cTrader 都会生成一个净值图表,X 轴为交易次数,Y 轴为账户余额。 它包含以下统计数据:

  • 黄线显示随每笔交易变化的账户余额。
  • 灰色区域突出显示总净值如何根据您的机器人进行的交易而增加或减少。

为了更好地理解净值图表的作用,请考虑上面的示例。 它显示我们的机器人在回测期间执行了超过 290 笔交易。 随着账户余额的每次变化,我们也可以看到总净值相应的变化。

交易统计

交易统计选项卡包含有关您的 cBot 在整个回测过程中表现的数据。 它包括以下字段。

字段名称 定义
净盈利 所有交易的总净盈利。
盈利系数 总净盈利除以总净亏损计算得出的比率。
佣金 为您的 cBot 进行的交易支付的佣金总额。
最大余额回撤 余额下降的最大金额。
最大净值回撤 净值下降的最大金额。
总交易笔数 您的 cBot 执行的总交易笔数。
盈利交易 产生已实现盈利的总交易笔数。
最大连续盈利交易数 产生已实现盈利的最大连续交易笔数。
最大盈利交易 一笔交易产生的最大已实现盈利。
亏损交易 产生已实现亏损的总交易笔数。
最大连续亏损交易数 产生已实现亏损的最大连续交易笔数。
最大亏损交易 一笔交易产生的最大已实现亏损。
平均交易 所有交易产生的平均已实现盈亏。

持仓

持仓选项卡显示您的 cBot 当前开放的所有头寸。 其结构类似于常规交易看板显示中的持仓选项卡,并包含相同的数据。

Image title

点击右下角的齿轮图标可自定义中央表格中显示的数据。

订单

订单选项卡包含有关您的 cBot 下达的订单的信息。 其结构和外观复制了主交易看板显示中的订单选项卡。

Image title

历史记录

历史选项卡显示回测期间记录的所有开仓和平仓交易的统计数据。 与上面讨论的其他选项卡类似,它复制了交易看板显示中的历史选项卡。

Image title

事件

事件选项卡列出所有与服务器相关的通信,并显示这些事件的各种参数。

Image title

日志

最后,日志选项卡显示您的 cBot 在整个回测过程中的输出。 消息列表可完全搜索,并可按事件类型和实例进行筛选。

Image title