今天自動交易了一筆實單,但與今天回測結果不同。想請小幫手協助確認!
//進場條件
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:附上程式碼


回測結果

Hello 小小的茶米,
小編推測您是使用日頻率進行回測,需注意回測的逐筆洗價並不會像即時執行洗價那樣(近乎)每筆交易都洗到。
日頻率逐筆洗價是每根1分鐘Bar洗一次,若您將條件print出來的話 condition111 是不符合的,因為條件中的前一日收盤價 * 1.07 為 63.558 (59.4 * 1.07 = 63.558),只有當根Bar的最低價 63.5 有小於該值。
故該根Bar不會符合。
需注意除了1分鐘頻率外逐筆洗價都是用1分鐘Bar去模擬,而1分鐘頻率的逐筆洗價則是用OHLC來模擬。
小幫手您好,謝謝回覆。但您說的這邊我不理解
因為條件中的前一日收盤價 * 1.07 為 63.558 (59.4 * 1.07 = 63.558),只有當根Bar的最低價 63.5 有小於該值。
我適用日k沒錯,而日頻率逐筆洗價1分k的時候在9:04的確出現最低63.5,這樣不是有符合我寫的cindition111嗎? 為何您會說該根Bar不會符合。再麻煩解釋一下,謝謝!
建議你花些時間閱讀回測逐筆洗價的運作邏輯。
謝謝許教授和小編的回答,我理解了 感謝兩位!
5 評論