請問執行回測[策略]時, 腳本已指定以收盤價進出場:
// 交易邏輯
if Position = 0 and long_condition then begin
SetPosition(1, CLOSE); // 以收盤價進場
end;
if Position > 0 and exit_condition then begin
SetPosition(0, CLOSE); // 以收盤價出場
end;
為何執行結果並非以收盤價進出場?

請問執行回測[策略]時, 腳本已指定以收盤價進出場:
// 交易邏輯
if Position = 0 and long_condition then begin
SetPosition(1, CLOSE); // 以收盤價進場
end;
if Position > 0 and exit_condition then begin
SetPosition(0, CLOSE); // 以收盤價出場
end;
為何執行結果並非以收盤價進出場?

close在盤中指的是即時成交價,而非K棒的收盤價,亦即在符合進場條件時,會按照當時的即時成交價送出委託。
回測執行頻率已設定為日, 請問我要如何設定才能回測確保是在收盤價送出委託?
加一個條件看看:currentTime>=132500
且setposition不要用close,而改用漲停價(買進時)、跌停價(賣出時)。
Hello rw,
小編補充,回測自動交易日頻率逐筆洗價的狀況下,要成交在收盤價 (或丟出以收盤價為價格的委託),可以用以下幾種方法:
1. 在搓合前的最後一次洗價 (132400 那次洗價) 送出漲停價委託。
2. 勾選觸發即判斷成交,然後在當日最後一筆洗價 (132900 那次洗價) 觸發並送出漲停價委託。
3. 在隔日開盤時送出以前一日收盤價為委託價的委託 (不保證能成交在前日收盤價)
4 評論