(已解決) 請問在交易裡面,要怎麼使用xf_GetValue?

  •   84 
  • 最後發表   Sadless  2021 八月 27
Sadless 發文於   2021/08/24

我寫了一個測試的交易腳本來說明問題。

第一個腳本,沒有使用xf_GetValue,只是單純的取得昨天的收盤價,可以正確結束測試。

{交易_測試_xf_GetValue}

Var:_Close_1D(0);
    _Close_1D = GetField("收盤價", "D")[1];                {1天前 的 日收盤價}
{   
Var:_Close_1D_before_20Ds(0);
    _Close_1D_before_20Ds = xf_GetValue("D", _Close_1D, 20);    {向前算20天,21天前 的 日收盤價}
}

第二個腳本,想要藉由xf_GetValue來取得21天前的收盤價,可是卻回測失敗,原因是逾時。

請問問題出在哪裡?要怎麼正確地在交易腳本裡面使用xf_GetValue?

{交易_測試_xf_GetValue}

Var:_Close_1D(0);
    _Close_1D = GetField("收盤價", "D")[1];                {1天前 的 日收盤價}

Var:_Close_1D_before_20Ds(0);
    _Close_1D_before_20Ds = xf_GetValue("D", _Close_1D, 20);    {向前算20天,21天前 的 日收盤價}

XQ小幫手 發文於   2021/08/27

Hello Sadless,

 

小幫手這邊作測試短區間回測可以正常執行(參考附圖),但使用長區間的話就會因為逾時而導致錯誤。

建議您可以縮短回測區間。

需注意您使用1分鐘頻率,但要取21日前的資訊,您的資料筆數需要設的夠長才能取得。(60*4.5*25 = 6750)

目前自動交易中心最長的資料筆是只能取得5000筆,所以回測區間的前幾天印出的資訊會是錯誤的。

未來的版本中將可以指定所需頻率的筆數,到時可以使用此種方法來取得資訊。

 

如果您測試短區間還是會出問題的話,需要麻煩您提供 交易腳本、回測報告(.BTReport檔)以及XQ Log 來檢驗。

Log資料夾(預設路徑:C:\SysJust\XQLite\LOG)直接壓縮後提供即可。

您可以直接將檔案上傳,如果檔案過大的話也可以Mail至客服信箱 XQservice@XQ.com.tw且附上 討論文章連結網址(小幫手才能盡早處理)。

感謝。

 

 

附加文件

發表回覆
Close