重讀了readtick函數的說明
// 三種情形
// case#1: _complete 而且 value7(最新一筆的標記) =3 => 我們讀到了一個完整的multitick序列
// case#2: _complete 可是 value7不是3
// => 這個表示我們收到了一個multitick序列的開頭, 可是結尾還沒有收到
// case#2a => 如果這種情形發生在最新的資料端, 那我們可以等待下一次洗價時再來處理
// Example: 0, 0, 0, 1 (2, 3 is coming)
// case#2b => 如果這種情形發生在最新的資料端, 那我們可以等待下一次洗價時再來處理
// Example: 0, 0, 0, 1, 2, 2 (3 is coming)
// case#2c => 可是如果這種情形是發生在中間的話, 那就是資料有問題了, 例如
// Example: 0, 0, 0, 1 (where is 3 ?) 0, 0
// case#3: not _complete => 這個表示這一整批資料的第一筆竟然不是multitick序列的開頭, 可能有人傳錯 readtick_cookie了 ?
// Example: (where is 1 ?) 2, 2, 2, 3
//
// 如果是 case#2a的話, 目前收到的multitick資料就先不處理, 等下一次呼叫時再來處理
// 其餘情形我們就組一筆MultiTick的資料
我的問題是:如果multitick沒接收完,readtick最新的一筆資料不會計算出結果?一定要等到接收完整multitick
readtick array裡面才會整理好一列row, 存放著multitick統計完的資料?
還是老問題, tick group是誰定義的?是交易所的數據格式會告訴你這連續幾筆是multitick嗎?
如果交易時間能夠精細到毫秒,那也許能根據成成交時間知道這是multitick, 但是XQ的數據好像只到秒吧?
還是XQ根據買賣和逐筆結果推測出這連續交易屬於multitick?
另外,如果我不想等到完整接收完multitick才做判斷,能調取readtick函數只接收到中途的成交總量結果嗎?
還是說要自己改寫一個陣列比較好呢?
4 評論