在回測一個60K小台全日盤的策略時,遇到沒有觸發任何出場條件,下根K棒position與filled卻被強制清空。
Print 之後發現所有進出場條件都檢查完成,在沒有其他地方寫了 SetPosition 函式的情況下,下根K棒position與filled直接歸零。導致回測結果與指標結果落差甚大,想知道這是什麼原因?
p.s 已寄信到XQ信箱,附件有回測報告、執行腳本與截圖的log
在回測一個60K小台全日盤的策略時,遇到沒有觸發任何出場條件,下根K棒position與filled卻被強制清空。
Print 之後發現所有進出場條件都檢查完成,在沒有其他地方寫了 SetPosition 函式的情況下,下根K棒position與filled直接歸零。導致回測結果與指標結果落差甚大,想知道這是什麼原因?
p.s 已寄信到XQ信箱,附件有回測報告、執行腳本與截圖的log
Hello iker,
您的問題是發生在下單的函數 OutputFutureBackTestLogV2 是series函數,所以當因為條件的沒成立導致有些Bar沒有執行到該函數時,當該條件符合函數執行後,會補運算之前沒有執行的部份。
這重算時會導致下單。
可以將 OutputFutureBackTestLogV2 函數改為 setposition 就可以看到腳本正常運作。
另外,您也可以參考 SetBarMode 函數,並將其設定為simple函數 (SetBarMode(1);),這樣應該就不會再發生相同問題。
1 評論