小編您好,
想請問一下我在60分頻率下執行指標腳本,if getinfo("IsRealTime")=1 then...是在即時的K棒執行指令,但是為何if getinfo("IsRealTime")=0 then ...也會在即時的K棒執行指令呢?(如圖print)
【運算預讀筆數】 等於 【資料讀取範圍】嗎?
資料讀取範圍的說明是不會執行即時K棒,我想要寫的腳本意思如下,請教小編要如何達成第2點呢?
1.當最新的K棒【是即時K棒】,執行A,不執行B。 (可以用IsRealTime解決)
2.當最新的K棒【不是即時K棒】,執行B,不執行A(連1次都不行執行)。
Hello musashi,
資料讀取筆數 = settotalbar = 資料讀取範圍。
這部分的資料腳本是會運作的,當您即時啟動策略的時候,系統會先運算這些資訊,接著才進入即時的資料。
在指標上的話,就是掛上指標前的運算資料。
最大引用範圍 = setbackbar。
這些資料腳本是不會運算的,但腳本在運作時會需要取到這邊的資料。
您如果用 getinfo("IsRealTime")=1 的話,在資料讀取筆數的部分不會符合,要在進入即時資訊後才會符合。
getinfo("IsRealTime")=0 則是在剛啟動策略的資料讀取筆數的部分符合,即時資訊後則不符合。
所以在啟動策略的時候,會先執行 getinfo("IsRealTime")=0 的部分 (因為有資料讀取筆數),在讀取筆數運算完後才進入 getinfo("IsRealTime")=1 的部分。
可以參考附圖,用 getinfo("IsRealTime") 來區別會是如此: 在開始即時洗價之後的才算是即時運算。
若運作在指標上的話,則是掛上指標前的資料都算是資料讀取筆數,掛上那個時間點後的資料則都算是即時資訊 (參考附圖)。
小幫手這邊運作上是正常的,如果您還是有問題的話,麻煩提供 頁面匯出檔勾選(包含)指標腳本,並告知您覺得有問題的部分。
您可以直接將檔案上傳,也可以Mail至客服信箱 XQservice@XQ.com.tw 且務必附上 討論文章連結網址(小幫手才能盡早處理)。
感謝。
感謝小編解答,看了小編的截圖發現【資料讀取筆數運算】的最後一筆K棒時間包含150000,因為我一直誤認為【即時運算】與【資料讀取筆數運算】是以K棒時間做區隔,所以我的腳本才會在最後一根K棒仍然會執行【資料讀取筆數運算】,看起來似乎【資料讀取筆數運算】無法避免運算最後一筆150000。
Hello musashi,
是的,即時運算 與 資料讀取筆數運算 並不是以Bar作區別,而是運算的當下的資料是歷史資料還是新資料來決定。
所以逐筆洗價的狀況下,同一根Bar可能會有 即時運算 與 資料讀取筆數運算。
至於您提到的 150000 小幫手不太懂是什麼意思,會以150000這跟K棒作間隔單純是因為小幫手是在 150000 這根Bar時讓指標/自動交易運算。
如果是在其他時間啟動的話,就會是對應時間的K棒作間隔。
5 評論