开始使用免费开始使用

在 add.rule() 中指定 sigcol

做得很好!尽管 add.rule() 命令看起来很复杂,但每个参数都很简单。为便于理解该命令,您将逐一了解各个参数。

首先,add.rule() 接受参数 sigcol,用于指定策略中的信号列。与信号和指标类似,所有规则都会引用策略中已经存在的一列。规则依赖于信号,因此必须引用策略中的信号列。

在本练习中,您将为 add.rule() 调用提供 sigcol 的取值,并将其设为 filterexit(用来引用上一章中创建的 filterexit 信号)。具体来说,filterexit 信号指的是在您的策略中,50 日 SMA 下穿 200 日 SMA 的条件。为该信号创建一条规则,表示当出现这一情况时您希望退出,因为此时的市场环境已不再有利于您的持仓。

与之前一样,strategy.st 已预加载在您的工作空间中。

本练习是课程的一部分

R 中的金融交易

查看课程

练习说明

  • 再次查看您工作空间中的 add.rule() 命令。
  • 通过指定 sigcol,基于 filterexit 创建一条退出规则。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Fill in the sigcol argument in add.rule()
add.rule(strategy.st, name = "ruleSignal", 
         arguments = list(sigcol = "___", sigval = TRUE, orderqty = "all", 
                        ordertype = "market", orderside = "long", 
                        replace = FALSE, prefer = "Open"), 
         type = "exit")
编辑并运行代码