getinfo("IsRealTime")問題

  •   253 
  • 最後發表   musashi  2022 八月 23
musashi 發文於   2022/08/12

小編您好,

想請問一下我在60分頻率下執行指標腳本,if getinfo("IsRealTime")=1 then...是在即時的K棒執行指令,但是為何if getinfo("IsRealTime")=0 then ...也會在即時的K棒執行指令呢?(如圖print)

 

附加文件

排序方式: 標準 | 最新
XQ小幫手 發文於   2022/08/16

Hello musashi,

 

每個策略啟動的時候,都會運算預讀筆數

這個print出來的資訊應該就是從該運算而來,因為currenttime都相同。

musashi 發文於   2022/08/16

【運算預讀筆數】 等於 【資料讀取範圍】嗎? 

資料讀取範圍的說明是不會執行即時K棒,我想要寫的腳本意思如下,請教小編要如何達成第2點呢?

1.當最新的K棒【是即時K棒】,執行A,不執行B。 (可以用IsRealTime解決)

2.當最新的K棒【不是即時K棒】,執行B,不執行A(連1次都不行執行)。

XQ小幫手 發文於   2022/08/18

Hello musashi,

 

資料讀取筆數 = settotalbar = 資料讀取範圍。

這部分的資料腳本是會運作的,當您即時啟動策略的時候,系統會先運算這些資訊,接著才進入即時的資料。

在指標上的話,就是掛上指標前的運算資料。

 

最大引用範圍 = setbackbar。

這些資料腳本是不會運算的,但腳本在運作時會需要取到這邊的資料。

 

您如果用 getinfo("IsRealTime")=1 的話,在資料讀取筆數的部分不會符合,要在進入即時資訊後才會符合。

getinfo("IsRealTime")=0 則是在剛啟動策略的資料讀取筆數的部分符合,即時資訊後則不符合。

所以在啟動策略的時候,會先執行 getinfo("IsRealTime")=0 的部分 (因為有資料讀取筆數),在讀取筆數運算完後才進入 getinfo("IsRealTime")=1 的部分。

可以參考附圖,用 getinfo("IsRealTime") 來區別會是如此: 在開始即時洗價之後的才算是即時運算。

 

若運作在指標上的話,則是掛上指標前的資料都算是資料讀取筆數,掛上那個時間點後的資料則都算是即時資訊 (參考附圖)。

小幫手這邊運作上是正常的,如果您還是有問題的話,麻煩提供 頁面匯出檔勾選(包含)指標腳本,並告知您覺得有問題的部分。

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

感謝。

附加文件

musashi 發文於   2022/08/18

感謝小編解答,看了小編的截圖發現【資料讀取筆數運算】的最後一筆K棒時間包含150000,因為我一直誤認為【即時運算】與【資料讀取筆數運算】是以K棒時間做區隔,所以我的腳本才會在最後一根K棒仍然會執行【資料讀取筆數運算】,看起來似乎【資料讀取筆數運算】無法避免運算最後一筆150000。

XQ小幫手 發文於   2022/08/23

Hello musashi,

 

是的,即時運算 與 資料讀取筆數運算 並不是以Bar作區別,而是運算的當下的資料是歷史資料還是新資料來決定。

所以逐筆洗價的狀況下,同一根Bar可能會有 即時運算 與 資料讀取筆數運算。

至於您提到的 150000 小幫手不太懂是什麼意思,會以150000這跟K棒作間隔單純是因為小幫手是在 150000 這根Bar時讓指標/自動交易運算。

如果是在其他時間啟動的話,就會是對應時間的K棒作間隔。

發表回覆
Close