回測結果與實單不同

  •   506 
  • 最後發表   小小的茶米  2024 七月 21
小小的茶米 發文於   2024/07/08

今天自動交易了一筆實單,但與今天回測結果不同。想請小幫手協助確認!

//進場條件

condition11 = bias(7) > 10;//7日乖離率大等於15

condition21 = open > high[1]*1.02;

condition111 = close < close[1]*1.07 and close >= close[1];//漲幅低於7%且高於3%

如下圖應該於9:04進場,實際上也是如此。但回測結果卻不是。

PS:附上程式碼

 

 

 

回測結果

 

附加文件

排序方式: 標準 | 最新
XS小編 發文於   2024/07/15

Hello 小小的茶米,

 

小編推測您是使用日頻率進行回測,需注意回測的逐筆洗價並不會像即時執行洗價那樣(近乎)每筆交易都洗到。

日頻率逐筆洗價是每根1分鐘Bar洗一次,若您將條件print出來的話 condition111 是不符合的,因為條件中的前一日收盤價 * 1.07 為 63.558 (59.4 * 1.07 = 63.558),只有當根Bar的最低價 63.5 有小於該值。

故該根Bar不會符合。

需注意除了1分鐘頻率外逐筆洗價都是用1分鐘Bar去模擬,而1分鐘頻率的逐筆洗價則是用OHLC來模擬。

小小的茶米 發文於   2024/07/15

小幫手您好,謝謝回覆。但您說的這邊我不理解

因為條件中的前一日收盤價 * 1.07 為 63.558 (59.4 * 1.07 = 63.558),只有當根Bar的最低價 63.5 有小於該值。

我適用日k沒錯,而日頻率逐筆洗價1分k的時候在9:04的確出現最低63.5,這樣不是有符合我寫的cindition111嗎? 為何您會說該根Bar不會符合。再麻煩解釋一下,謝謝!

虎科大許教授 發文於   2024/07/16

建議你花些時間閱讀回測逐筆洗價的運作邏輯。

XS小編 發文於   2024/07/19

Hello 小小的茶米,

 

如同小編上面所說,"日頻率逐筆洗價是每根1分鐘Bar洗一次",洗的時候是用完整的1分鐘Bar。

所以在回測的狀況下,090400 這根Bar洗的時候,close會是 64.2,不符合條件。

不會洗到 63.5。

  • 按讚來自於
  • Pingzz0719
小小的茶米 發文於   2024/07/21

謝謝許教授和小編的回答,我理解了 感謝兩位!

發表回覆
Close