使用 add.rule() 實作出場規則
歡迎來到規則這一章!quantstrat 的規則可以變得很複雜,不過本章會補足許多細節,幫助你理解規則實際運作的機制。規則是 quantstrat 三大機制——指標(indicators)、訊號(signals)、規則(rules)——中的最後一環。當你決定要依據某個訊號下單時,規則能讓你精確定義要如何安排這筆交易。
在本章裡,你會延續前幾章建立的策略(strategy.st)。由於此策略包含 3 個規則(2 個出場規則與 1 個進場規則),我們會透過數個練習來建立你對規則機制的直覺。
本練習會帶你認識 add.rule() 函式,它能把自訂規則加入你的策略。你在前面章節建立的策略(strategy.st)已經預先載入到你的工作環境中。
本練習屬於課程
R 的金融交易
練習說明
- 先看一下工作環境中的
add.rule()呼叫。現在先不用擔心眾多的引數。 - 使用
add.rule()建立一個出場規則,將type引數設為exit。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Fill in the rule's type as exit
add.rule(strategy.st, name = "ruleSignal",
arguments = list(sigcol = "filterexit", sigval = TRUE, orderqty = "all",
ordertype = "market", orderside = "long",
replace = FALSE, prefer = "Open"),
type = "___")