回測程實單交易觸發標的不一致

  •   117 
  • 最後發表   kimiko1216  2025 十二月 22
kimiko1216 發文於   2025/12/10

我的自動交易實單交易與回測觸發標的內容不一致

請參考Log檔

排序方式: 標準 | 最新
虎科大許教授 發文於   2025/12/11

實單交易與回測結果不一致,可能是即時環境的價格與歷史價格差異造成,例如,在即時環境下,close是即時成交價,而回測時它是K棒的收盤價。試想,若盤中按照即時價格計算的均線出現黃金交叉就買進,但收盤價算出的均線數值卻沒有黃金交叉,就會造成實單有進場,但回測沒進場的情況。

XS小編 發文於   2025/12/12

Hello kimiko1216,

 

小編補充,盤中執行和盤後回測兩者不相同的可能性很多 (最常見的原因是洗價的設定),建議可以用 print 將相關數值印出,會比較容易知道原因。

若希望兩者盡量接近的話,都使用非逐筆洗價 (K棒結束後洗價) 會是比較好的選擇。

 

另外您附的檔案可能過大導致無法上傳,可以透過XQ內的設定 => 問題回報的方式來上傳提供,並附上討論區問題連結。

若需要附上的檔案數量或大小超過了問題回報可附上的範圍,則可以將相關檔案放置在雲端空間開放權限後提供連結。

感謝。

 

  • 按讚來自於
  • Pingzz0719
kimiko1216 發文於   2025/12/15

謝謝許教授、小幫手
已在XQ介面回報問題

 

XS小編 發文於   2025/12/22

Hello kimiko1216,

 

經確認過提供的腳本和Log,您使用了量比欄位資料,因此在回測時能夠使用的最短頻率為1分鐘非逐筆洗價,而策略是運作在1分鐘逐筆洗價上,很有可能就是因此產生差異。

建議若希望回測和即時運作盡量貼近的話,兩者都使用 "非逐筆洗價" 是最適合的。

目前回測因伺服器效能的關係無法完全模擬實際的逐筆洗價,能夠運算的筆數相對即時的逐筆洗價較少。

舉例來說:1分鐘逐筆洗價在即時會是每筆Tick產生時都洗價 (快市例外),而回測1分鐘逐筆洗價時則只洗1分鐘的OHLC (4次)。

另外您的腳本有使用到未提供的函數,建議提供時直接提供匯出的策略包含相關函數腳本,會比較容易確認。

發表回覆
Close