自動交易環境下IsRealTime 出現的問題

  •   280 
  • 最後發表   任我行  2025 一月 15
任我行 發文於   2025/01/10

你好,

   當在使用XQ自動交易環境時,IsRealTime 這個值為什麼有時候是0有時候是1?

if  getInfo("IsRealTime")=0 and getField("收盤價","D")[1] = GetField("漲停價", "D")[1] then  //   not ( getField("收盤價","D")[1] = GetField("漲停價", "D")[1]
        begin   
            print(file(ArgetFileName), FormatDate("yyyy/MM/dd", CurrentDate) , SymbolName , getField("收盤價","D")[1] , GetField("漲停價", "D")[1]);
            raiseruntimeerror("前日未漲停關閉"); // 用來中斷執行中的程式
        end;

 

盤中有的股票是0又有1,  而盤後就都會是0 ?

另外getField("收盤價","D")[1]  這個指令不是就是要抓前一日收盤價的值,應該IsRealTime不論是否即時,此資料應該都是歷史資料,但跑出來結果是會不相同的?

請問這是正常的嗎?

 

XS小編 發文於   2025/01/15

Hello 任我行,

 

小編不知道您的策略是如何設定的,不過腳本運作在 "資料讀取筆數" 以及 "策略部位計算區間" 的時候,getInfo("IsRealTime") 會回傳0。

直到進到即時區間後 getInfo("IsRealTime") 才會回傳1。

 

在同一天的K棒運作時 getField("收盤價","D")[1] 都會回傳前一日的收盤價,但不同日的時候回傳的收盤價自然會不同。

若在 資料讀取筆數 或 策略部位計算區間 運算時有跨日,那麼自然也會發生取得數值不同的狀況。

建議您在print的時候搭配 date 使用,確認印出的K棒時間 (CurrentDate 是本機端的日期)。

 

如果還是有問題的話,麻煩提供 自動交易策略匯出檔包含交易腳本 以及 XQ Log 讓相關人員確認。

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

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

感謝。

發表回覆
Close