开始使用免费开始使用

使用 sigCrossover

虽然需要有一个多头过滤器,但这还不足以在本策略中开仓。然而,一旦该条件不再成立,策略就不应持有任何头寸。在本练习中,您将使用 sigCrossover() 函数实现上述规则的反向条件。

sigComparison() 不同,后者会始终判断条件是否成立,sigCrossover() 只会在信号首次出现的那一刻给出阳性结果,此后不再重复。这非常适合用于触发交易的信号,因为在大多数情况下,您只希望有一次交易,而不是反复触发多次交易。

在这里,您将实现 sigCrossover() 函数,指定 SMA50 下穿 SMA200。请将该信号标记为 filterexit,因为当均线过滤器表明当前环境不适合持仓时,它将用于退出头寸。

本练习是课程的一部分

R 中的金融交易

查看课程

练习说明

  • 使用 add.signal() 添加一个 sigCrossover,指定 SMA50 下穿 SMA200
  • 将该信号标记为 filterexit

交互式实操练习

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

# Add a sigCrossover which specifies that the SMA50 is less than the SMA200 and label it filterexit
add.signal(strategy.st, name = "___",
           
           # We're interested in the relationship between the SMA50 and the SMA200
           arguments = list(columns = c("___", "___"),
                            
                            # The relationship is that the SMA50 crosses under the SMA200
                            relationship = "___"),
           
           # Label it filterexit
           label = "___")
编辑并运行代码