组合信号 - II
在上一个练习中,您通过比较另外两个信号的值来近似一个 sigFormula 信号。在本章最后一个练习中,您将更进一步,使用 sigFormula() 函数直接生成一个 sigFormula 信号。
本练习的目标很简单:当 longfilter 和 longthreshold 同时变为 true 时入场建仓。思路是这样的:您不想在条件持续为真时不断重复入场,但当上升趋势中出现回撤时,您确实希望持有仓位。
编写一个 sigFormula 与在 base R 中把"if 语句"的条件参数写进 formula() 函数一样简单。在这里,您需要创建一个名为 longentry 的信号,当 longfilter 和 longthreshold 同时越过并变为 true 时,该信号为真。
完成此练习后,您将对 quantstrat 中信号的工作方式有一个完整的概览!
本练习是课程的一部分
R 中的金融交易
练习说明
- 使用
add.signal()创建一个sigFormula信号:当longfilter和longthreshold同时为 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 = "___")