關於ReadTicks(tick_array, readtick_cookie);的使用

  •   351 
  • 最後發表   LeoWmLin  2023 十二月 27
LeoWmLin 發文於   2023/12/26

小幫手你好:

我查詢了readticks@的相關資料 想請教以下問題

ReadTicks(tick_array, readtick_cookie); 取得了目前所有的逐筆交易的資料

是否能整理這裡面的資料? 每5秒累計一次 外盤成交量 與 內盤成交量 應該怎麼寫

麻煩小幫手了,謝謝

XS小編 發文於   2023/12/27

Hello LeoWmLin,

 

ReadTicks 取得的會是上次洗價到這次洗價間的Tick資料,若商品交易頻繁的話兩次洗價間可能只間隔了不到一秒,小幫手認為不適合使用此函數來運算。

您可以使用 tick 頻率的 Time、BidAskFlag 和 Volume 搭配 second 函數判斷是否介於5秒區間。

舉例來說:

//計算這筆Tick介於的5秒區間

value1 = Floor(second(getfield("time", "tick")) / 5);

 

 

value2 = 0;

value3 = 0;

value4 = 0;

 

//計算介於這個區間的內外盤量 (同分鐘,且介於這個5秒區間內)

while value1 * 5 <= second(getfield("time", "tick")[value2]) and 

second(getfield("time", "tick")[value2]) <= (value1+1) * 5 and 

minute(getfield("time", "tick")) = minute(getfield("time", "tick")[value2]) begin

 

    //value3紀錄外盤量,value4記錄內盤量

    if GetField("BidAskFlag", "Tick")[value2] > 0 then value3 += getfield("volume", "tick")[value2]

    else if GetField("BidAskFlag", "Tick")[value2] < 0 then value4 += getfield("volume", "tick")[value2];

    

    value2 += 1;

    end;

     

發表回覆
Close