程式隔日開盤出場, 但回測的結果不一致!
如圖, 我在1分K, 已設定"逐筆洗價",
if position<>0 and currentDate<>filledrecordDate(1) then begin
setposition(0);
end;
理論上一開盤就要出場! 但回測的結果每一筆都不一致, 有些是開盤價, 有些最高價..找不到規則!
可否幫忙解決一下!
setPosition(0, Market) 或 setPosition(0, close) 結果同樣!

程式隔日開盤出場, 但回測的結果不一致!
如圖, 我在1分K, 已設定"逐筆洗價",
if position<>0 and currentDate<>filledrecordDate(1) then begin
setposition(0);
end;
理論上一開盤就要出場! 但回測的結果每一筆都不一致, 有些是開盤價, 有些最高價..找不到規則!
可否幫忙解決一下!
setPosition(0, Market) 或 setPosition(0, close) 結果同樣!

Hello GaryChiang,
首先會建議您 currentDate<>filledrecordDate(1) 的部分,1改為 FilledRecordCount 才會確保接下來的都是隔天出場。
關於您的問題,這是因為您使用1分鐘頻率的逐筆洗價的設定。
在1分鐘頻率的逐筆洗價的框架下,會將1分鐘的 Bar 拆開成 O H L C 4個 Tick,,至於先後的運作邏輯為:
如果 High - Open < Open - Low 的話,則假設 Bar 的發展為 O H L C
相反的情況則是則是 O L H C
所以您策略的情況,在隔天第一根 Bar 的 O 判別了要出場,所以會在接下來的 Tick (H / L) 中出場。
1 評論