當沖無法於指定時間出場 , CurrentTime 錯誤?

  •   269 
  • 最後發表   小角色  2021 七月 28
小角色 發文於   2021/07/24

 

還在語法學習跟軟體摸索階段,

近日測試了以下code進行回測,

發現並不是每天的13:15分都會出場(有的日子會出場,有的日子不會出場) 不知道是哪邊設定或是羅輯出錯,

不知是否也有人遇到一樣的問題

以及有沒有其他大大可以幫忙解決這個小小的問題 @@

XQ小幫手 發文於   2021/07/28

Hello 小角色,

 

如果腳本內同時符合執行的交易指令有兩個的話,只會執行先運行到的。

舉例來說,如果有個腳本如下:

setposition(1);

setposition(0);

此腳本永遠只會執行 setposition(1) 這行。

 

第二,currenttime在回測當中會相當於該根Bar的時間。

所以會因為您所設定的頻率導致條件不符合。

需注意XQ的時間是以開始時間為主。

舉例來說:

假設您頻率設為30分鐘的話,那麼該日的最後一根Bar將會是13:00。

那麼currenttime>=131500就不會達成。

 

小幫手建議您可以加上 position 和 filled 來控制,且使用1分鐘頻率或是勾選逐筆洗價測試。

像是將腳本修改為:

if position = 0 and filled = 0 and currentTime = 091000 and close >opend(0) then setposition(1);

if position = 1 and filled = 1 and currentTime >= 131500 then setposition(0);

並使用1分鐘回測。

發表回覆
Close