GetBarOffset 的深入研究! (bug?)

  •   934 
  • 最後發表   GaryChiang  2021 四月 20
GaryChiang 發文於   2021/04/16

http://xshelp.xq.com.tw/XSHelp/?HelpName=GetBarOffset&group=GENERALFUNC

以上是官方的說明, 我在分K的環境裏一直照用, 但....永遠得不到想要的!

日內當沖時, 常需要知道現在是今天的第幾根K棒!

XS裏提供了一個函式 GetBarOffset( 日期, [時間] )

我之前直接用GetBarOffset(Date)想取得資料, 結果一直得不到! 所以, 我做了一個測試!

程式內容, 設定, 結果如下!

結論:

在分K的頻率之下, GetBarOffset(Date), 必需要等到隔天才會有資料! 若要取得今日的資料, 則第二個參數不能少! 所以, 若要得到今天的K棒數必需用 GetBarOffset(Date,90000)

排序方式: 標準 | 最新
GaryChiang 發文於   2021/04/16

結束了? 太看不起嘉實挖的坑了!

還沒!

看下面結果, 資料不對!

因為XQ洗價的K棒第一根, 無法得知前面有幾根K棒, 所以, 資料是錯的! 必需等到第二天才能得到正確的答案!

所以, 在自動交易設定時"資料讀取筆數"必需夠大, 才不會得到錯誤的答案!

GaryChiang 發文於   2021/04/16

真的有在用自動交易系統的人, 會發現很多"神奇的事", 大家可以一起討論, 以免掉入坑中, 下面是我設的一個討論區, 希望可以和大家一研究!

https://www.facebook.com/groups/500156048013646

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

Hello GaryChiang,

 

GetBarOffset 函數是計算傳入值日期時間距離現在幾跟 Bar。

若您只給第一個參數日期,那麼函數就會計算現在這跟 Bar 的日期到您傳入日期的距離。

所以若您是在同日內的話,請給第二個時間參數。

如果您只是要單純的得知目前是當天的第幾跟 Bar 的話,建議您採用以下方式會比較省資源。

 

input: bar_back(0);

if getfielddate("Date")[1] <> getfielddate("Date") then bar_back = 0 else bar_back += 1;  //換日重置為0

 

bar_back 就會是現在這跟 Bar 與開盤的 Bar 的距離。

關於您第二部分所提到的問題,需要有腳本與設定才能檢測問題出在哪。

需要麻煩您提供自動交易中心匯出檔與交易腳本來作測試。

您可以直接將檔案上傳,或是Mail至客服信箱 XQservice@XQ.com.tw且附上討論文章連結網址。

感謝。

GaryChiang 發文於   2021/04/20

小幫手你好: 

以下是官方的說明, 如果貴公司本來就知道這個問題, 那是否應該在說明裏說清楚使用方法! 而不是讓使用者自己去測試!

http://xshelp.xq.com.tw/XSHelp/?HelpName=GetBarOffset&group=GENERALFUNC

  • 按讚來自於
  • moaibear
XQ小幫手 發文於   2021/04/20

Hello GaryChiang,

 

感謝您的建議,會告知相關人員。

發表回覆
Close