开始使用免费开始使用

组合信号 - II

在上一个练习中,您通过比较另外两个信号的值来近似一个 sigFormula 信号。在本章最后一个练习中,您将更进一步,使用 sigFormula() 函数直接生成一个 sigFormula 信号。

本练习的目标很简单:当 longfilterlongthreshold 同时变为 true 时入场建仓。思路是这样的:您不想在条件持续为真时不断重复入场,但当上升趋势中出现回撤时,您确实希望持有仓位。

编写一个 sigFormula 与在 base R 中把"if 语句"的条件参数写进 formula() 函数一样简单。在这里,您需要创建一个名为 longentry 的信号,当 longfilterlongthreshold 同时越过并变为 true 时,该信号为真。

完成此练习后,您将对 quantstrat 中信号的工作方式有一个完整的概览!

本练习是课程的一部分

R 中的金融交易

查看课程

练习说明

  • 使用 add.signal() 创建一个 sigFormula 信号:当 longfilterlongthreshold 同时为 true 时为真。
  • cross 设为 TRUE
  • 将此新信号标记为 longentry

交互式实操练习

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

# Add a sigFormula signal to your code specifying that both longfilter and longthreshold must be TRUE, label it longentry
add.signal(strategy.st, name = "___",
           
           # Specify that longfilter and longthreshold must be TRUE
           arguments = list(formula = "___ & ___", 
                            
                            # Specify that cross must be TRUE
                            cross = ___),
           
           # Label it longentry
           label = "___")
编辑并运行代码