我有一套腳本去回測 60分K 的小台近月期貨時,用了以下三個時間範圍回測,發現結果有點問題:
1. 2022/07/06 - 2023/01/06 (半年)
2. 2022/01/06 - 2022/07/06 (半年)
3. 2022/01/06 - 2023/01/06 (一年)
當我回測第 1、2 兩種時,都能看到有正常觸發交易的紀錄,但回測第 3 種時,跑出來的交易紀錄跟第 2 種完全一樣,沒有後面的交易紀錄...
回測是用相同交易腳本、完全不改變其他參數的情況下,只是選了不同回測範圍的結果。
想請問 60分K 要怎麼回測 1 年以上的資料?
另外第 1 種回測結果裡,我有使用以下方式寫期貨結算日平倉的條件,這段程式碼用在同樣策略的指標腳本裡,畫在指標上確實有按結算日出場。但交易回測並沒有正常出場,導致裡頭的編號 1、13 的交易持倉天數超過了期貨近月的天數。
if DayOfWeek(date) = 3 and DayOfMonth(date) > 14 and DayOfMonth(date) < 22 then SetPosition(0, Market);
請問要怎麼改才能在交易回測時按結算日出場?
13 評論