akmod
發表於 17-4-2 21:33
akmod 發表於 17-4-2 11:55
知道原因了
不是 bug
不對
真的怪怪的
股票 0051OnNotifyTicks 會回傳2筆 , 1筆試搓, 1筆正式成交
台指 TX00OnNotifyTicks 會回傳2筆 , 2筆都是 正式成交 -> 不應該回傳2筆呀
akmod
發表於 17-4-2 21:58
多謝 cukie 提示
總委買已經 ok
我還以為它綁在 best5
alexliou
發表於 17-4-3 15:38
本帖最後由 alexliou 於 17-4-3 16:23 編輯
akmod 發表於 17-4-2 21:33
不對
真的怪怪的
看起來在盤後(盤中我猜是一樣的Behavior)確是傳了兩筆
這是首次索取該檔商品的狀況
* 列第三個括弧內是nPtr編號
如果是非首次的狀況,則會傳三筆
先補一筆最新的, 再補個歷史兩筆(包括最新一筆)
非首度索取之前是否曾用頁碼50去取消訂閱, 不影響結果
alexliou
發表於 17-4-4 09:46
alexliou 發表於 17-4-3 15:38
看起來在盤後(盤中我猜是一樣的Behavior)確是傳了兩筆
這是首次索取該檔商品的狀況
這樣的設計 有一個很大的缺點
當User 提出對某檔商品提出Ticks request 後
然後又在極短時間內(此時上一檔的第二筆回傳還沒到) 變更需求標的
OnNotifyTicks 收到的Ticks 變成兩檔混在一起
對同一時間只需要一檔商品的User來說
EventHandler 就要去辨別回來的Ticks 到底是屬於哪一檔的
但這對同一時間Request多檔商品Ticks 的User沒差
因為區分原本就是必要的工作
張卡
發表於 17-4-4 21:39
本帖最後由 張卡 於 17-4-4 21:46 編輯
請問群益api
windowsforms格式:
m_SKQuoteLib.OnConnection += new _ISKQuoteLibEvents_OnConnectionEventHandler(m_SKQuoteLib_OnConnection);
事件EventHandler
SKCOMLib提供的是EventHandler
但WPF是RoutedEventHandler
該怎麼解決這問題呢?
卡很久希望高手能指點一下
謝謝
akmod
發表於 17-4-5 10:39
盤中OnNotifyTicks 還是會傳回所有歷史
盤後OnNotifyTicks 只傳2筆
盤前連線進入盤中後 股票SKQuoteLib_GetStockByNo 傳回的 總成交量 = 0
盤中連線 股票 SKQuoteLib_GetStockByNo 傳回的 總成交量 = 正確值
bug 一堆如何用 ? 根本就沒有修正
akmod
發表於 17-4-5 10:56
回 cukie
RequestTicks必須8:26後(清盤)送才有資料.
但是我 8:30 , 8:45
RequestStocks + RequestTicks
SKQuoteLib_GetStockByNo 傳回的股票總量都是 0
akmod
發表於 17-4-5 11:06
cukie 發表於 17-4-5 11:02
Hello
Quote.log , 20170405_Quote.log 有錯誤訊息嗎
沒有
只會發生在股票身上
期權不會
我明天再試1次
alexliou
發表於 17-4-5 12:01
本帖最後由 alexliou 於 17-4-5 12:13 編輯
OnNotifyTicks 的Behavior 大概是這樣:
首度索取: 從最新一筆Tick 的前一筆Tick之後所有的Ticks
所以盤後看起來像是傳兩筆
非首度索取:
1)先傳一筆最新的Tick
2)然後傳部分的historical ticks :從首度索取當時前一筆Tick 之後所有的Ticks(含非首度索取"當時"的那筆最新Tick)
如果首度索取發生在盤前, 就等於是補傳所有的Ticks
所以盤後會看起來像是三筆(如果首度索取也發生在盤後)
第一筆 --->當日最後一筆Tick
第二筆---->當日最後一筆Tick的前一筆
第三筆----->當日最後一筆Tick
alexliou
發表於 17-4-5 12:27
本帖最後由 alexliou 於 17-4-5 12:45 編輯
akmod 發表於 17-4-5 10:39
但是我 8:30 , 8:45
RequestStocks + RequestTicks
SKQuoteLib_GetStockByNo 傳回的股票總量都是 0
GetStockByNo 不會傳最新的成交狀況給你
它所帶回來的SKStock物件中只有昨日收盤價.漲停.跌停等資訊
你要最新的成交狀況
得用 GetStockByIndex
akmod
發表於 17-4-5 13:21
本帖最後由 akmod 於 17-4-5 13:24 編輯
alexliou 發表於 17-4-5 12:27
GetStockByNo 不會傳最新的成交狀況給你
它所帶回來的SKStock物件中只有昨日收盤價.漲停.跌停等資訊
我立刻連線1次
一直傳回最新報價
alexliou
發表於 17-4-5 15:40
本帖最後由 alexliou 於 17-4-5 16:01 編輯
akmod 發表於 17-4-5 13:21
我立刻連線1次
一直傳回最新報價
你是對的
GetStockByNo 的Behavior 和我原先想的不同
它竟然也會根據在甚麼狀況下執行而有不同的結果
如果沒有先執行 RequestStocks 要求這檔股票的持續報價
它只給你編碼資訊.昨收.漲停.跌停等資訊, 其餘資料欄位都是0
如果你先執行了RequestStocks, 再Call GetStockByNo 才可以拿到最新的成交資訊
akmod
發表於 17-4-5 17:36
本帖最後由 akmod 於 17-4-5 17:43 編輯
從去年底反應的好幾個 bug 至今長達 4各月
只修正綁回 history
小弟宣佈退出這個無止盡的 xx 遊戲
短期都不在測試 ^^
alexliou
發表於 17-4-5 19:13
本帖最後由 alexliou 於 17-4-5 21:12 編輯
我的感覺是
整體而言 目前群益API(Ver. 2.13.5)的功能是OK的 可用的
它所提供的C#範例也很具參考性
只是在某些function的細節 使用說明並沒有寫得很詳細
如果能弄清楚這些細節, 程式都是可以因應的
例如前面曾討論非首度索取Ticks時, OnNotifyTicks 回傳Ticks 會有重複的情形
我們知道會有這種情形發生, 就可以靠檢查nPtr 把重複的Ticks 濾掉
在附圖中, Log 顯示收到三筆Tick, 但即時量價那個表就把重複的那筆Tick踢掉
又例如非首度索取Ticks時 , OnNotifyTicks 會傳回部分的Historical Ticks
如果Historical Ticks 一下子量很大, 有時會影響到其它User Interface(如五檔報價的顯示) 的Responsiveness
就可以考慮 1)把這種速度較慢(相對於Memory)的工作 叫BackgroudWorker來做
2)暫時把這種time-consuming task 的 顯示UI和它的 in-memory DataSouce 切開, 等到收完再接回來
這樣其它UI就不會感覺到Lag了
j202036
發表於 17-5-26 17:00
最近盤中報價都會斷線,真麻煩.