Close cross Over經過回測不如預期,如何解決

  •   281 
  • 最後發表   答非所問  2023 二月 07
答非所問 發文於   2023/02/05

1.想請問小幫手,我一直有一個疑惑是close到底是指盤中出現的任何價位,還是盤中任一K棒的收盤價位?因為這會影響程式交易的成交點位認定。

2.假設今天60K的某一根K棒,上漲穿過20均線但又跌回來,最後收長上影線,而我的交易出場策略是,當上漲往上穿過20均的時候就出場。結果這個條件經過回測之後發現並沒有如我想像的,盤中任何價位穿過20均就出場(如圖),請問這要如何改善?(我有點逐筆洗價)

我的條件:(Close cross Over _ma20)  then begin Setposition(0); 

如圖片來看,紅色線是20均線,這根長紅K在盤中是有穿過20均的,最後收在20均以下,而以我上面的條件來回測,並沒有進行出場動作,請問我的程式碼要怎麼修改才能符合我想要的?

Close cross Over _ma20,到底是指盤中任何時候只要有穿過20均就會出場,還是一定要K棒穿過20均而且最後收在20均以上才會出場?

3.cross over定義為何?(圖中紅線都是20均)

(1)要是以上面的條件來說,圖內第二根K跳空漲過20均,這樣會在第二根K一開盤就出場嗎?還是會因為K棒因為跳空的關係,沒有實質穿過20均,就沒有動作?

(2)要是以上面的條件來說,圖內第二根K跳空漲過20均,這樣會在第二根K一開盤就出場嗎?還是會因為第二根K最後沒有收在20均以上就不會出場?(就是又回到第二大點的問題)

XQ小幫手 發文於   2023/02/07

Hello 答非所問,

 

1.close是洗價當下的成交價。

如果您有勾選逐筆洗價的話,那麼close就會是腳本運算時最後一個成交價。

若是沒有勾選逐筆洗價的話,那麼close就會是該根Bar的收盤價。

 

2.回測的非1分鐘逐筆洗價是用1分鐘Bar來模擬原來頻率的運作。

所以若該根60分鐘Bar裡的任一根1分鐘收盤價沒有收在均線上的話,條件是不會符合的。

小幫手會建議您使用 print 將價格印出檢查。

 

3.您可以參考內建函數crossover的腳本,或是參考xshelp的說明

要符合條件的話是當期的close大於20均,且前一期close小於等於20均。

K棒是否有跳空是不會影響的,條件只看兩個價格的比較。

 

發表回覆
Close