我在程式進出場判斷中加入了連續內外盤成交筆數做為篩選
例如: TrueAll(getField("內外盤","Tick")=1,5) 連續5次外盤成交且滿足其他條件(假設條件是成交價>35.7)即進場
然而當我進行回測的時候 勾選非逐筆交易回測進場條件的則為 剛好在下一個1分K (ex. 09:09)開始之前的"前5筆"滿足連續5次外盤成交且成交價大於(35.7)才會觸發
像這張圖
如果在下一個1分K (09:09) 的"前5筆" 沒有滿足條件 則不會觸發
但實戰上 如果開啟這隻程式 09:08-09:09當中如果有連續5次外盤成交且成交價大於35.7 似乎就會觸發進場了
甚至如果在更早之前滿足成交價>35.7與連續外盤成交 則實戰上也會進場 (09:01)就進場了
但這個在回測上是測不出來的 因為09:01分的前5筆 並沒有達成連續5次外盤成交(如下圖) 所以回測沒觸發
這樣就會導致回測的結果跟實戰上有很大的落差
實戰上09:01就會進場 但回測只會觸發09:09的那一次
幾個問題
1. 有沒有辦法在實戰上做到跟回測一致的操作 我只要偵測1分K之前的5筆 滿足連續外盤成交的條件 (似乎不太可能達成)
2. 另一種方式是有沒有辦法讓回測接近實戰 也就是讓回測也能觸發09:01那一筆 而不要剛好是1分K的前五筆滿足才觸發
3. 我程式中加入 TrueAll(getField("內外盤","Tick")=1,5) 以後進行回測 回測就沒辦法勾選逐筆交易 會出錯
7 評論