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

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

若你勾選逐筆洗價,系統會使用1分K的開高低收,每分鐘最多洗價四次,來判斷是否有進場或出場訊號。
程式就這樣,頻率是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;
台指期開盤時間是8:45,這是日盤第一根分K棒的時間。60分K第一根K的時間是084500,第二根是094500,依此類推。
計算DMI使用的是收盤價,20260417000000這根K的收盤價正好是37249。
我可能沒說清楚,我用小台近全做模擬,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的收盤價?

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