print要如何讓每一分鐘的資料都print到同一個檔案。

  •   215 
  • 最後發表   小韭菜  2023 十一月 20
小韭菜 發文於   2023/11/01

Hi 小幫手,

我的目的是在策略雷達裡,印出每1分鐘的資料到同一個檔案。

就是如果我有500檔個股,我想要每一分鐘都可以print出這500檔的開高低收,而且是印到同一個檔案,

例如0900.txt, 0901.txt...1330.txt. 那要怎麼寫? 雷達裡的觸發設定/逐筆洗價(是否要勾)要怎麼設?

另外,

1) 根據我對XQ的理解,XS是有成交才會洗價(跑程式),所以如果有某一檔個股在09:03時都沒有任何的成交,0903.txt裡會有這檔個股的資料嗎?

2) 像緩漲/跌,XS有辦法表示嗎?

3) 會有機會發生,0905.txt在09:05時產生,也有資料被寫進去,但不完全,然後等到之後例如09:10時才去update 0905.txt這個檔案嗎?

4) 盤後跟盤中,XS有辦法可以印出像"大單追蹤"裡的 每一次成交的時間/成交/單量/單別 嗎?

5) 目前如果要跟python串接,最好的方式是什麼? 還是只能透過print 到檔案嗎?

再請小幫手幫忙解答,謝謝。

 

排序方式: 標準 | 最新
XQ小幫手 發文於   2023/11/06

Hello 小韭菜,

 

Print函數可以使用file函數來指定輸出的檔案,但應該無法做到您說的那樣用執行時的time來區分。

 

1.是的,沒有洗價就等於沒有執行,因此也不會print出資訊。

2.目前沒有辦法。

3.print出來的資料是不會被更新的,只會印出新的一筆資料。

4.可以用 seqno 將當日的所有Tick印出。

另外盤中的話可以參考 readticks 函數。

5.現在有不同券商都有提供api可以串接市場資訊,建議您使用該類型的api會比較適合。

 

XQ小幫手 發文於   2023/11/20

Hello XQ小幫手,

 

小幫手補充,您可以使用 text 函數來將不同時間組成字串傳入 file 函數,這樣應該可以達到您的需求。

舉例來說:

var: _file("");

 

_file = text("C:\SysJust\XQ2005\XS\Print\", numtoStr(date, 0), "_", numtoStr(time, 0), ".txt");

 

這樣就會印到一個像是20231120_090000.txt的檔案下。

發表回覆
Close