請問買進1、賣出1是不是沒辦法用GetSymbolfield的方式抓取?
目前看A下B的情況下,想要抓出A標的的買進1、賣出1資料該怎麼抓?
請問買進1、賣出1是不是沒辦法用GetSymbolfield的方式抓取?
目前看A下B的情況下,想要抓出A標的的買進1、賣出1資料該怎麼抓?
最佳委買價及最佳委賣價都有資料欄位,分別為GetField("買入價")及GetField("賣出價"),可用GetSymbolfield抓它們。
Sorry我沒講清楚我的情況,目前遇到的情形是A標的流動性低,close可能是很早之前成交的價格,沒辦法反應出當下價格。
所以想定時每5分鐘抓一次「當下五檔委託簿」上面掛出的最佳委買賣價計算平均值,用來替代close。
從GetField("買入價")的說明來看是 「買進價格為成交發生當時五檔委託簿的最佳委買價格」,所以仍可能是很早之前成交時的委買價,這樣流動性低的情況下抓到的委買一樣會有偏差。
不知道我這樣理解有沒有錯,再請幫忙解惑...感謝!!
(1)GetField("買入價")是委託簿中最佳委買價。強調『成交發生當時』是因為以前需要有成交或補K時才會洗價。但現在有自動洗價,不一定要『有成交』這個條件。洗價時,用它就可抓到『洗價當下』委託簿的最佳委買價。
(2)我不清楚你如何用最佳委買價計算平均,若只抓一定時點的最佳委買價計算平均,用getSymbolField可以處理。
1. 了解,感謝說明!那我再來試看看。
2. 委買&委賣,兩個的平均值而已~所以看起來應該可行。
非常感謝!
剛才測試後發現:
(程式1) "買入價" 無法 抓到『洗價當下』委託簿的最佳委買價。
(程式2)"買進1" 可以 抓到『洗價當下』委託簿的最佳委買價,但買進1無法用GetSymbolField抓取。
因為要看A下B,所以需要用到GetSymbolField...再麻煩解惑,感謝!!
【程式1】(執行商品為小台,每5秒自動洗價)
value1 = GetSymbolField("TX2N10C26100.TF", "買入價", "Tick");
value2 = GetSymbolField("TX2N10C26100.TF", "賣出價", "Tick");
print(value1, value2);
【程式2】(執行商品為TX2N10C26100.TF,每5秒自動洗價)
value1 = q_BestBid1;
value2 = q_BestAsk1;
print(value1, value2);
我用買入價及賣出價測試是可以的。用台指期夜盤當作執行商品,跨商品去抓台指選擇權第二週的27200的最佳委買價及最佳委賣價(26100買權目前都沒有成交資料),是可以抓到數據的。
我也測試了27200,買入價/賣出價可以抓到數據,但並不是"當下"委託簿上的最佳買賣價,而是"最近一筆成交明細"的買賣價。只是因為27200比較有流動性,所以看起來很像是抓到當下的買賣價。
目前遇到跑到深價內沒有流動性的時候,抓close無法反映真實的價格(因為可能已經是很久以前成交的價格),所以打算用"當下"委託簿上的最佳買賣價平均來取代close。似乎只有 "買進1/賣出1" 才能抓到"當下"委託簿上的最佳買賣價,但這個指令又無法給GetSymbolField取用...這樣要看A下B的時候就不知道該怎麼辦
舉個例子:
最近一筆成交:Bid/Ask = 1100 / 1110
當下委託簿:Bid/Ask = 1200 / 1210
(當流動性差的時候,最近一筆成交會與當下委託簿價格差距較大)
1. 買入價/賣出價 -> 抓到的是 1100 / 1110
2. 買進1/賣出1 -> 抓到的是1200/1210
我需要的是 2. 的結果,但 2. 的指令無法給GetSymbolField取用。
這樣就沒解了。GetField及GetSymbolField抓的是資料庫裡面的資料,而Tick資料又只儲存8種,儘管這8種裡面有買入價及賣出價,但儲存的是已成交資料的買入及賣出價,並非委託簿上即時跳動的最佳委買價及最佳委賣價。要抓即時委託簿上的數據,只能用GetQuote函數抓,但這種資料沒被保留在資料庫,所以無法跨商品處理。
了解了,那我再來想想辦法。
謝謝!
9 評論