程式隔日開盤出場, 但回測的結果不一致

  •   135 
  • 最後發表   GaryChiang  2021 四月 29
GaryChiang 發文於   2021/04/28

程式隔日開盤出場, 但回測的結果不一致!

如圖, 我在1分K, 已設定"逐筆洗價", 

if position<>0 and currentDate<>filledrecordDate(1) then begin

setposition(0);

end;

理論上一開盤就要出場! 但回測的結果每一筆都不一致, 有些是開盤價, 有些最高價..找不到規則!

可否幫忙解決一下!

setPosition(0, Market) 或 setPosition(0, close) 結果同樣!

XQ小幫手 發文於   2021/04/29

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) 中出場。

發表回覆
Close