在 add.rule() 中設定 sigval
既然你已經在策略中指定了包含相關訊號的欄位,接下來在 add.rule() 中要設定的參數是 sigval,也就是觸發規則時,訊號應該呈現的值。
請記得,所有訊號的輸出不是 1 就是 0。實務上,訊號在任何時間點不是「開」就是「關」。就本課來說,這等同於兩種邏輯值:TRUE 或 FALSE。在 add.rule() 指定 sigval 時,你需要說明規則是在訊號值為 TRUE 還是 FALSE 時被觸發。
要繼續在你的策略中加入新的出場規則,你需要指定當 filterexit 等於 TRUE 時要發生交易。上一個練習中使用的 add.rule() 指令已經在你的工作環境中可以使用。
本練習屬於課程
R 的金融交易
練習說明
- 將
add.rule()的sigval參數設為TRUE。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Fill in the sigval argument in add.rule()
add.rule(strategy.st, name = "ruleSignal",
arguments = list(sigcol = "filterexit", sigval = ___, orderqty = "all",
ordertype = "market", orderside = "long",
replace = FALSE, prefer = "Open"),
type = "exit")