frantz 發表於 19-3-23 18:02

請問一下前輩 OnNotifyFutureTradeInfo 用excel的vba 套的進去嗎??

剛剛嘗試套進去後,會出現編譯錯誤:
事件程序的宣告與同名事件的描述不相符。
Private Sub SKQuoteEvents_OnNotifyFutureTradeInfo(ByVal bstrStockNo As String, ByVal sMarketNo As Integer, ByVal sStockIdx As Integer, ByVal nBuyTotalCount As Long, nSellTotalCount As Long, nBuyTotalQty As Long, nSellTotalQty As Long, nByDealTotalCount As Long, neSellDealTotalCount As Long)

    On Error Resume Next
   
    Sheet3.Cells(4, 1) = Sheet3.Cells(4, 1) + 1
      
    If Sheet3.Cells(4, 1) > 200 Then
      
      Sheet3.Cells(4, 1) = 0
            
    End If
   
    Dim pSKStock As SKSTOCK
    Dim nCode As Integer
   
    nCode = SKQuoteEvents.SKQuoteLib_GetStockByIndex(sMarketNo, sStockIdx, pSKStock)
   
    With Sheet3
   
    Dim i As Integer
    Dim strStock As String
    Dim nDot As Long
   
    For i = 6 To Int(.Cells(2, 5)) + 5
      strStock = .Cells(i, 1)
      If strStock = pSKStock.bstrStockNo Then
      
            nDot = 10 ^ pSKStock.sDecimal
            
            .Cells(i, 17).Value = pSKStock.nBuyTotalCount
            
      
            
      End If
    Next i
    End With
End Sub

kuolung 發表於 19-3-23 20:14

>> 事件程序的宣告與同名事件的描述不相符。<<

就跟您說,宣告不相符了

    HRESULT OnNotifyFutureTradeInfo (
      _bstr_t bstrStockNo,
      short sMarketNo,
      short sStockIdx,
      long nBuyTotalCount,
      long nSellTotalCount,
      long nBuyTotalQty,
      long nSellTotalQty,
      long nBuyDealTotalCount,
      long nSellDealTotalCount );

這是 vc++ 解出來 2.13.16 的宣告,

但是說明文件的宣告是這樣的
void OnNotifyFutureTradeInfo (BSTR bstrStockNo, SHORT sMarketNo, SHORT sStockidx, LONG nBuyTotalCount, LONG nSellTotalCount, LONG nBuyTotalQty, LONG nSellTotalQty, LONG nBuyDealTotalCount, LONGnSellDealTotalCount);



核對一下吧,看那裡有錯


kuolung 發表於 19-3-23 20:18

Private Sub SKQuoteEvents_OnNotifyFutureTradeInfo(ByVal bstrStockNo As String, ByVal sMarketNo As Integer, ByVal sStockIdx As Integer, ByVal nBuyTotalCount As Long, nSellTotalCount As Long, nBuyTotalQty As Long, nSellTotalQty As Long, nByDealTotalCount As Long, neSellDealTotalCount As Long)

這是您的宣告,前面的變數都有 ByVal ... ...

但是後面5個變數,ByVal 的字不見了 ????

frantz 發表於 19-3-24 10:39

kuolung 發表於 19-3-23 20:18
Private Sub SKQuoteEvents_OnNotifyFutureTradeInfo(ByVal bstrStockNo As String, ByVal sMarketNo As In ...

謝謝前輩的提醒,
寫到後面忘了補進去。
剛剛嘗試重新修正如下並存檔後,
重新開啟執行,沒跳出訊息了。但相關欄位會跳出資訊出來。
正瞭解是那邊有問題。。。。。

Private Sub SKQuoteEvents_OnNotifyFutureTradeInfo(ByVal bstrStockNo As String, _
                                                ByVal sMarketNo As Integer, _
                                                ByVal sStockIdx As Integer, _
                                                ByVal nBuyTotalCount As Long, _
                                                ByVal nSellTotalCount As Long, _
                                                ByVal nBuyTotalQty As Long, _
                                                ByVal nSellTotalQty As Long, _
                                                ByVal nByDealTotalCount As Long, _
                                                ByVal neSellDealTotalCount As Long)

    On Error Resume Next
    'bstrStockNo 商品代號
    'sMarketNo   市場別代號
    'sStockidx   系統編碼後的特殊商品索引代號。

   
    Sheet3.Cells(4, 1) = Sheet3.Cells(4, 1) + 1
      
    If Sheet3.Cells(4, 1) > 200 Then
      
      Sheet3.Cells(4, 1) = 0
            
    End If
   
    Dim pSKStock As SKSTOCK
    Dim nCode As Integer
   
    nCode = SKQuoteEvents.SKQuoteLib_GetStockByIndex(sMarketNo, sStockIdx, pSKStock)
   
    With Sheet3
   
    Dim i As Integer
    Dim strStock As String
    Dim nDot As Long
   
    For i = 6 To Int(.Cells(2, 5)) + 5
      strStock = .Cells(i, 1)
      If strStock = pSKStock.bstrStockNo Then
      
            nDot = 10 ^ pSKStock.sDecimal
            
            .Cells(i, 17).Value = pSKStock.nBuyTotalCount
            .Cells(i, 18).Value = pSKStock.nSellTotalCount
            .Cells(i, 19).Value = pSKStock.nBuyTotalQty
            .Cells(i, 20).Value = pSKStock.nBuyTotalCount
            .Cells(i, 21).Value = pSKStock.nBuyDealTotalCount
            .Cells(i, 22).Value = pSKStock.nSellDealTotalCount
            
      
            
      End If
    Next i
    End With
End Sub



smallMint 發表於 19-3-26 10:05

回補tick的功能對於各位大大是不是很重要@@?

kuolung 發表於 19-3-26 22:24

之前很重要 實際使用以後 發覺沒那麼重要了 原因是群益的回補也是不準的 盤中就算補足所有的 tick 再比對交易所的報表也是不準的

smallMint 發表於 19-3-27 09:40

所以還要想辦法用交易所的報表核對資料嗎~
那沒對的人直接回補的話,也是錯的資料...然後他們都沒發現= ="

或是要自己紀錄tick??
頁: 1 2 3 4 5 [6]
查看完整版本: 請教群益新舊版api的差別