如何在 cBot 中使用指标
在本文及其对应的视频中,我们将演示如何在您的 cBot 中引用和使用自定义指标。 为此,我们将开发一个交易算法,该算法使用示例自定义指标的输出执行交易操作。
创建一个新的 cBot
要查看当前安装在您计算机上的所有自定义指标,请切换到 Algo 应用并进入 指标 选项卡。
如果您在此处看到一个或多个自定义指标,这意味着您可以在任何其他算法中自由使用它们。 在本教程中,我们将使用 Sample SMA 指标,并开发一个基于简单移动平均线方向的 cBot。
首先,我们将 创建一个新的 cBot 并将其重命名为一个有意义的名字,例如“SMA 机器人”。 我们的 cBot 将在 SMA 转为看涨时进入买入交易,并在 SMA 转为看跌时进入卖出交易。 我们的 cBot 不会对冲其头寸,这意味着在每个新信号出现时,相反的头寸将被关闭。
初始化指标
对于自定义指标,我们的第一步是添加对自定义指标的引用。 要引用自定义指标,我们需要执行以下步骤:
- 点击 管理引用 按钮。
- 在新打开的窗口中找到我们要引用的指标。
- 勾选我们要引用的指标旁边的复选框。
- 点击应用。
在引用指标后,我们可以创建其类型的实例变量。
1 | |
注意
指标类型应与指标类名相同。 这可能与指标的文件名不同。
下一步是在我们的 OnStart() 方法中初始化指标。 然而,在此之前,我们将向 cBot 添加一个参数,该参数允许我们配置自定义 SMA 指标使用的时间周期。
1 2 | |
我们可以使用 Indicators.GetIndicator<>() 方法来初始化我们引用的任何自定义指标。 我们需要定义指标类型并传递以逗号分隔的指标参数。
注意
参数需要按照指标类中声明的顺序传递。
在我们的案例中,类型为 SampleSMA,我们将传递该指标的源值,在本例中为柱的收盘价和 Period 参数。
1 | |
实现交易逻辑
初始化指标后,我们可以实现我们的交易逻辑。 我们的自定义 SMA 指标将移动平均值保存在 Results 集合中。 Results 集合有两个有用的方法,IsRising() 和 IsFalling()。 这些方法允许我们判断指标结果是上升还是下降。
我们将使用这些方法来实现我们的交易条件。
1 2 3 4 5 6 7 8 9 10 11 | |
我们现在将填充我们的 if 语句。 当移动平均线上升时,我们将关闭所有卖出头寸并开立买入头寸。 相反,当移动平均线下降时,我们将关闭所有买入头寸并开立卖出头寸。
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
在我们的代码中,我们使用了两个 API 默认不提供的新方法。 Open() 方法根据定义的方向和数量开立新头寸。 Close() 方法关闭所有定义方向的头寸。
以下是 Open() 方法的定义。
1 2 3 4 5 | |
要在 Open() 方法中执行订单,我们还需要添加 Volume 参数。
1 2 | |
剩下的就是定义 Close() 方法。
1 2 3 4 5 | |
进行回测
与往常一样,在我们让 cBot 代表我们进行交易之前,我们将对其进行彻底的 回测。 为此,添加一个实例,然后切换到 回测 选项卡。
为了进一步测试我们的 cBot,我们将引用的自定义指标添加到附加实例的图表中,并检查头寸入场点是否与指标输出匹配。
要了解更多关于使用和开发 cBot 的信息,请随时浏览文档的其他部分,并订阅我们的 YouTube 频道,以便在我们发布新视频时收到通知。
在本文及其随附的视频中,我们将展示如何在您的 cBot 中引用和使用自定义指标。 为此,我们将开发一个交易算法,该算法使用预制自定义指标的输出执行交易操作。
创建一个新的 cBot
要查看当前安装在您计算机上的所有自定义指标,请切换到 Algo 应用程序并进入 指标 选项卡。