Getqoute能否抓上一筆tick的資料

  •   61 
  • 最後發表   黑框  2021 五月 05
黑框 發文於   2021/04/29

小幫手您好

在逐筆洗價開啟時,qetquote可以抓到每筆tick的資料

請問我可以抓上一筆tick的資料來跟當筆tick來運算嗎?

例如要如何拿當筆q_sumbidsize減掉上一筆q_sumbidsize?

謝謝喔!

排序方式: 標準 | 最新
XQ小幫手 發文於   2021/04/29

Hello 黑框,

 

GetQuote 只提供最新的值,沒有過去的資料。

所以如果您是要當筆 Tick 的狀況減掉上筆 Tick 的狀況的話是沒辦法做到的。

小幫手提供一個變通的方式,就是設一個變數來儲存。

舉例來說:

var: intraBarPersist sumbidsize_record(0);

sumbidsize_record= q_sumbidsize;

print(date, time, sumbidsize_record, sumbidsize_record[1]);

這樣的話您就可以取用到自策略開始運算時間點以後的前期資料。

但注意的是,這並不是上一根 Tick 的情況,而是上一根 Bar 結束的狀態。

黑框 發文於   2021/05/04

小幫手您好,如果我利用NumArray來儲存每一筆tick 的q_sumbidsize,可行嗎?

如下所示:

 

var: intrabarpersist last_seqno(0);

array: tick_array[100, 11](0), NumArray[](0);

var: row_count(0), idx(0),Count(0);

 

row_count = ReadTicks(tick_array, last_seqno);  \\利用readtick函數來得出每個tick的相對關係

 

for idx = 2 to row_count begin

if TimeDiff(tick_array[idx, 2], tick_array[idx-1, 2], "S")<>0  \\tick變成下一筆的時候count+1

then Count = Count + 1;

end;

 

Array_SetMaxIndex(NumArray, Count);

NumArray[Count] = q_sumbidsize;    \\把當時的委買總量存進array

 

value1=NumArray[Count]-NumArray[Count-1];   \\當筆跟前一筆的委買總量相減

XQ小幫手 發文於   2021/05/05

Hello 黑框,

 

小幫手測試過,您提到的例子 q_sumbidsize減掉上一筆q_sumbidsize 應該是可以透過intraBarPersist的 array 或是雙變數達成。

附上範例的策略雷達匯出檔供您參考。

附加文件

發表回覆
Close