XScript編輯器 - 【記住.上一筆.成交價, 單量】?

  •   369 
  • 最後發表   yifei  2020 三月 06
yifei 發文於   2020/03/03

您好: 

由於盤中新的 tick 不斷出現。

網頁有說:q_Last = [最近.tick.成交價], q_TickVolume = [最近.tick.單量]。

如果想要記住 [上一筆.成交價] 或  [上一筆.單量] 到某變數,請問是否有語法可以做到呢?

謝謝~

排序方式: 標準 | 最新
XQ小幫手 發文於   2020/03/05

Hi yifei

目前可以取得上一個tick的方式,是使用getfield語法直接去指定頻率"tick"

不過目前tick的資料僅支援近兩周,因此如果使用日頻率搭配逐筆洗價,其資料讀取筆數最多僅能至10(10個交易日)

因此會依照您的雷達腳本而有不同()。

例如您需要的成交價&量,其資料欄位都支援tick頻率。

您可以使用以下語法作業,請參考getfield語法使用

以下的value1[1] value2[1],就會是前一筆tick的資料喔~

value1=getfield("close","tick");
value2=getfield("volume","tick");

小幫手有替您製作範例,請您參考,謝謝。

 

附加文件

yifei 發文於   2020/03/05

您好:  在此想到 2 個延伸問題:

問題1) 如果想取得「每10 tick」的 [成交價, 單量]。請問語法應該怎麼給?謝謝~

問題2) 假設:我想用程式去讀 [台指期 tick],然而開盤不久,今天的 tick 剛剛出現 100 個。

而我固定用 for 迴圈回溯 1000 個 tick 。以便讀取 [今天份] 的 [成交價, 單量]。

但是希望 for 迴圈讀到不是今天的 tick 就離開迴圈,請問應該怎麼辦?謝謝~

目前想到的部份語法如下:

var: count(0);

tick_p = getfield("close","tick");

tick_v = getfield("volume","tick");

for n = 1 to 1000 begin

    // 這裡不知該放什麼碼,才能「判斷現在讀到的不是今天的 tick 於是離開迴圈」???

    if tick_p[n] > tick_p[n-1] then count=count+1;

end;

XQ小幫手 發文於   2020/03/06

Hi yifei

其實因為XS的設計是屬於序列資料,因此如果只是要讀取今日的成交價與量

您可以直接使用getfield("close","D")跟getfield("volume","D")去處理

在日頻率搭配逐筆洗價的過程中,只要有新的tick進來,資料就會更新

-----------------------------------------------------------------------------------------------

系統不會記錄以前跑過了哪一些tick,無論在哪一個頻率下,即使使用getfield("close","tick");

也只會在未來有tick進來洗價的時候紀錄(執行中),先前的資料都會以您選定的頻率存在

例如現在已經9點了,您從9點執行雷達(日頻率逐筆洗價),就會從9點開始紀錄您的tick,是無法往前抓到每一個過往的tick的

9點以前的資料就會只有日頻率喔~

可能要請您在敘述您想要做什麼,小幫手才比較好給您建議,謝謝。

發表回覆
Close