腳本執行無結果

  •   84 
  • 最後發表   T343638  2021 四月 01
T343638 發文於   2021/03/28

想要回測在13:00~13:30這個時段在漲停時進場的報酬率,但為了避免雖然進場時符合漲停條件,但標的早在13:00前就已經漲停,13:00後雖然程式會進場,但實際上可能早就鎖漲停,買不到,進而影響到這半個小時報酬率的回測結果所以額外加上一個條件Getfield("close", "30")[1]<GetField("漲停價", "D") .

但我發現加不加這個條件,回測結果實際上還是不會管前半個小時是否已經漲停,只要現在是漲停狀態就會進場,想問我這個條件的問題出在哪裡呢?

條件設定如下

if     

close=GetField("漲停價", "D") and 

currenttime>130000 and 

currenttime<133000 and

Getfield("close", "30")[1]<GetField("漲停價", "D") 

then ret=1;

 

附加文件

排序方式: 標準 | 最新
XQ小幫手 發文於   2021/03/31

Hello T343638,

 

小編針對您提供的腳本作了一下測試,發現 GetField("close", "30")[1] 所取到的值為昨天的收盤價。

建議您可以將回測的頻率調整成1分鐘,這樣應該就不會發生相同的錯誤。

T343638 發文於   2021/03/31

那假設GetField("X", "Y")[1],不管X的欄位是什麼,也不管Y的頻率是什麼,只要預設的執行頻率是日頻率,就一律讀取的是前一天的資料,可以這樣理解嗎?

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

Hello T343638,

 

不好意思,在跟工程師確認過後這有可能是 Bug,會繼續追蹤此問題。

造成不便請見諒。

發表回覆
Close