cBot 的主要类型
cBot 是多功能工具,根据其代码和逻辑,可以执行各种角色和功能,从完全自动化的交易到为手动交易策略的实施提供支持。 在本文及其对应的视频中,我们将定义 cBot 的主要类型,概述它们的关键差异,并列出创建和使用各种类型 cBot 的一些最佳实践。
广义上讲,cBot 有四种主要类型。
注意
以下分类纯粹基于 cBot 的行为。 在实际的 cBot 代码中并未指定任何类别。 此外,一些开发者也可能创建自定义的 cBot 分类。
- 自动交易策略 - 顾名思义,此类 cBot 自主执行交易策略。 例如,三只乌鸦与三白兵 cBot 在遇到三根连续的绿色蜡烛后下达新的买单,而在面对三根连续的红色蜡烛时下达新的卖单。
- 脚本 - 属于此类型的 cBot 在启动时执行一个操作,并在执行完成后停止。 例如,脚本 cBot 可以为所有当前未平仓的头寸设置止损,无论其方向、交易量或交易品种如何。
- 交易助手 - 旨在执行某种有助于手动或自动交易策略的辅助操作。 例如,此类 cBot 可以使用与 cTrader 内置的追踪止损功能不同的自定义规则来管理您的追踪止损。
- 交易面板 - 此类 cBot 不会自主交易;相反,它们创建可用于各种目的的自定义控件。 例如,cBot 可以启动外汇新闻聚合器的 WebView,同时在 WebView 中集成自定义的买入和卖出按钮以及交易品种选择器,允许用户在不离开新闻网站的情况下进行交易。
在下面的小节中,我们将详细讨论上述每种类型,概述它们的优点和局限性,并提出各种使用场景。
算法交易策略
属于自动交易策略类型的 cBot 复杂但功能强大。 它们必须正确实施交易策略,包括其所有方面,如风险管理、头寸规模和技术分析。
您可以通过简单地用以下代码替换默认的新 cBot 模板,在不到两分钟内创建一个简单的自动交易策略。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | |
1 2 3 4 5 6 7 8 9 10 11 | |
该 cBot 在每根 K 线上开一个新头寸。 如果前一根 K 线的价格比前一根 K 线高,则开多头头寸。 相反,如果价格下跌,则开空头头寸。
回测和优化
自动交易策略通常包含许多动态部分和参数。 因此,此类 cBot 通常需要在实盘账户上启动之前进行广泛的回测和优化。 幸运的是,cTrader 提供了内置工具,可以为您处理 回测 和 优化。
cTrader 命令行工具 (CLI)
自动交易策略通常需要长时间运行,以便对各种技术分析信号做出反应。 为了在这些情况下节省 RAM 和 CPU 消耗,您可以通过 cTrader CLI 启动 cBot,而无需打开 cTrader Windows(请注意,可以通过 cTrader CLI 启动任何 cBot,而不仅仅是此类型的 cBot)。
脚本
脚本通常用于执行某种难以手动完成或耗时较长的操作。 这些操作通常在 cBot 启动时执行,以便您可以启动脚本,观察其执行结果,然后在成功后停止其实例以节省 RAM 和 CPU 消耗。
例如,脚本可以关闭所有总利润超过交易者账户存款货币 50 单位的头寸。 实际上,该脚本将充当所有未平仓头寸的通用止盈,您可以随时触发。 以下是该脚本的代码示例。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | |
1 2 3 4 5 6 7 8 9 10 11 | |
启动 cBot 后,我们应该看到几个盈利头寸逐渐被关闭。
停止脚本
由于脚本只需要执行一次特定操作,您可以指示 cTrader 在执行成功后立即关闭脚本。 如上例所示,您可以通过调用 Stop() 方法来实现这一点。
交易助手
交易助手的目的是定期执行有用的操作。 虽然这使得它们与脚本相似,但脚本仅在实例启动时执行一次操作。 相比之下,交易助手旨在持续对市场条件或其他因素做出反应,并根据某些模式执行操作。
例如,考虑一个在您开仓后立即对冲头寸的 cBot。 该 cBot 的代码可能如下所示。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
开仓后,cBot 立即尝试在相反方向开另一个头寸;新头寸的交易量正好是原始头寸交易量的一半。
请注意,我们使用 hasHedgedPosition 字段来避免无限循环,以便 cBot 只对冲一次新头寸。
回调函数
交易助手通常使用回调函数作为各种事件的处理程序。 要了解可以为某个类处理哪些事件,请打开内置的 API 文档,搜索所需的类,并在目录中导航到 Events 部分。
交易面板
交易面板显示自定义控件,当与之交互时会触发各种操作。 它们通常为默认的 cTrader UI 提供生活质量改进。 例如,cBot 可能会显示一个 买入 按钮,点击该按钮会在 cTrader 中执行一个预定义交易量的市价单。
要创建此类 cBot,只需使用以下代码。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
点击 买入 按钮后,将下达一个 10,000 单位的市价单。 按钮的便捷放置允许快速应对新的市场机会。
将交易面板与其他类型的 cBot 结合使用
交易面板提供自定义 UI 控件,让您可以执行各种操作。 您可以将其与其他类型的 cBot 一起使用。 例如,交易面板可能包括一个自定义的 对冲 按钮,点击该按钮会对冲所有当前未平仓的头寸,类似于上面的交易助手示例。
摘要
所有四种类型的 cBot 都有其有效用途,并且可以根据您的偏好进行组合。 例如,您可以同时启动一个自动交易策略和一个交易助手,以实现最佳结果。 您可以尝试各种类型的 cBot,以确保您偏好的交易方法能够完全无误地执行。
