第一个策略
要创建策略图和复合元素,并使用历史数据测试所得到的策略,可以参考移动平均线(SMA)策略示例。通过该示例,可以完成从策略创建到测试和调试的整个流程。移动平均线(SMA)策略位于 策略图 面板的 策略 文件夹中。
- 按照代码使用中的说明,使用模块创建新策略。可以在 常规 选项卡中单击 添加
按钮,然后选择 策略。也可以在 策略图面板 中右键单击 策略 文件夹,再在下拉菜单中单击 添加
按钮。

在 策略图 面板的 策略 文件夹中单击 添加
按钮后,会出现一个新策略。工作区中会打开一个新的策略选项卡,切换到该选项卡时,功能区会自动打开 模拟 选项卡。在 模拟 选项卡中,可以修改策略名称并添加简短说明。

- 为便于操作,需要单击
按钮,打开并固定 策略图 区域的 元素面板 和 属性 面板。完成后的窗口如下所示。

- 移动平均线(SMA)策略的基本原理如下:
- 使用两个计算周期不同的移动平均线:长期 SMA 和短期 SMA。在本示例中,长期 SMA 的 指标 模块名为 长期 SMA,周期为 80 根K线;短期 SMA 模块名为 短期 SMA,周期为 10 根K线。
- 当短期移动平均线从下向上穿过长期移动平均线时,建立多头持仓。
- 当短期移动平均线从上向下穿过长期移动平均线时,建立空头持仓。
- 收到开仓信号时,如果当前存在相反方向的持仓,则反转持仓。
- 所有策略都需要用于成交的交易品种和投资组合。应从 元素面板 将它们添加到 设计器 面板。本示例中,类型为 交易品种 的 变量 模块命名为 交易品种,类型为 投资组合 的 变量 模块命名为 投资组合。选中 交易品种 和 投资组合 模块的 参数 复选框。选中后,模块会从策略设置中获取值。如果未选中,则需要手动输入交易品种和投资组合的值。如果将 变量 模块的 值 字段留空,同时也未选中 参数 复选框,测试策略时会报告 变量 模块的值未设置。

如果策略需要使用多个交易品种或投资组合,则应为每个模块取消选中 参数 复选框,并设置相应的交易品种或投资组合值。


- 添加交易品种和投资组合后,添加两个 指标 模块并选择 SMA 类型。将第一个命名为 长期 SMA,周期设置为 80 根K线;将第二个命名为 短期 SMA,周期设置为 10 根K线。

- 指标需要接收K线序列才能工作。为此,需要创建 K线 模块。本示例仅使用时间周期为 5 分钟的已完成K线。

- 添加指标后,需要添加两个用于判断指标交叉的模块,即复合元素中的 交叉 模块。第一个模块命名为 上穿,用于判断自下而上的交叉。将 短期 SMA 指标传入模块的上方输入端,将 长期 SMA 指标传入下方输入端。将 CurrComparison 运算符设置为“大于”,将 PrevComparison 运算符设置为“小于或等于”。第二个模块命名为 下穿,用于判断自上而下的交叉。将 短期 SMA 指标传入模块的上方输入端,将 长期 SMA 指标传入下方输入端。将 CurrComparison 运算符设置为“小于”,将 PrevComparison 运算符设置为“大于或等于”。


- 使用策略的 成交 模块作为图表中成交数据的来源。本示例将其命名为 策略成交。

- 添加两个注册订单模块来建立持仓。第一个模块用于通过市价订单买入,其输入端接收 交易品种、来自 上穿 交叉模块的开仓信号、投资组合 和订单数量。第二个模块用于通过市价订单卖出,其输入端接收 交易品种、来自 下穿 交叉模块的开仓信号、投资组合 和订单数量。

- 使用连接线(连接线)连接上述元素后,就得到了一个尚未考虑策略当前持仓的策略图。在这种情况下,策略可能累积过多手数。

要控制持仓,需要添加 持仓 模块,并将 交易品种 和 投资组合 传入其输入端。

可以使用 获取当前持仓 章节中介绍的现成策略图来处理当前持仓。该策略图会计算注册订单时所需的实际数量;如果需要反转持仓,则会给出当前持仓数量的两倍。
- 最终完成的策略如下所示:
