回測買入點數

  •   55 
  • 最後發表   麥叔  2026 四月 23
麥叔 發文於   2026/04/17

利用小台做回測,60分K,,在回測的時候,買入與賣出的點位,並不是當跟K棒的開盤價或是收盤價,請問價格是怎麼來的? 附上回測的部分資料。比如說序號1的資料,進場時間是1/20 01:00,進場價格是31564。請問這31564是怎麼來的?

截圖圖片

 

排序方式: 標準 | 最新
虎科大許教授 發文於   2026/04/17

若你勾選逐筆洗價,系統會使用1分K的開高低收,每分鐘最多洗價四次,來判斷是否有進場或出場訊號。

麥叔 發文於   2026/04/18

程式就這樣,頻率是60分K,但有勾逐筆洗價,程式如下,為什麼不是用整點價格呢?

比如說,序號39這筆的進場,XQ用37249,為什麼不是用開盤價37239呢?

 

截圖圖片

 

if isFirstCall("Bar") then begin
    DirectionMovement(14,value2,value3,value4);

    if value2[1]>value3[1] and value2[2]<value3[2] then SetPosition(1) // 做多
    else begin 
        if value2[1]<value3[1] and value2[2]>value3[2] then begin
            if value4[1]>value4[2] then SetPosition(-1) // 做空
            else SetPosition(0);
        end;
    end;
end;

虎科大許教授 發文於   2026/04/18

台指期開盤時間是8:45,這是日盤第一根分K棒的時間。60分K第一根K的時間是084500,第二根是094500,依此類推。
計算DMI使用的是收盤價,20260417000000這根K的收盤價正好是37249。

麥叔 發文於   2026/04/18

我可能沒說清楚,我用小台近全做模擬,DMI 60分K來判斷,所以進出的時間,60分K整點的時候會進出,日盤如許教授所說,084500、094500,依此類推。夜盤則是150000、160000,依此類推。所以序號39這筆回測資料,進場點是026/04/17 00:00,所以我認為進場點位應該是37239,但是回測資料進場點位是37249,我查了一下,37249是20260417000000這根一分K的收盤價。但是DMI用的是60分K,所以應該都是60分K相對應的收盤價才對,怎麼會是20260417這個1分K的收盤價?

截圖圖片

 

 

虎科大許教授 發文於   2026/04/18

真實的交易世界,你的程式一樣無法買在開盤價。當每根K的第一個Tick進來時,亦即每根K的開盤價出現時,你的程式會送出委託單,最快也是第二個Tick的價格成交。以你的程式寫法,回測時,不論買或賣,成交價都會是每根K第一分鐘的收盤價。

XS小編 發文於   2026/04/23

Hello 麥叔,

 

小編補充,關於回測成交價的搓合邏輯,您可以參考【XQ回測說明】回測成交價搓合 裡的說明。

除此之外,若希望搓合在條件觸發當下的價格,您也可以勾選 觸發即判斷成交。

發表回覆
Close