C++

class spdQuoteAPI

連線與登入

行情主機是否連線
/*  
  回傳 true 表示與行情主機連線中, false 表示與行情主機連線中斷線. .      
  
  */
bool IsStarwaveConnected()
連線登入行情主機
/*
IP                 行情主機 IP
Port               行情主機 Port
ID                 行情主機登入帳號.
Password           行情主機帳號的密碼. 
DownloadContracts  登入成功後是否自動下載商品基本資料.也可以登入成功後,主動呼叫DownloadContracts().

*/
  
bool LogonStarwave(const char* IP, int Port, const char* ID, const char* Password, bool DownloadContracts)

訂閱

用商品代碼訂閱行情
/*
  Exchange 交易所
           證交所:   "TWSE"
           櫃買中心: "OTC"
           期交所:   "TAIFEX"
  Symbol   商品代碼
  回傳 true 表示訂閱成功, false 表示訂閱失敗,超過訂閱數20檔上限.       
 */
bool Subscribe(const char* Exchange, const char* Symbol)

取消訂閱

解除訂閱所有商品行情
void UnsubscribeAll()

下載商品基本資料

下載商品基本資料
/*
當下載完成時 virtual function OnContractDownloadComplete 事件會被呼叫.

*/
  
void DownloadContracts()

商品基本資料 class ContractInfo

商品基本資料 class ContractInfo
屬性 型態 說明
BullPx double 漲停價
BearPx double 跌停價
RefPx double 參考價
ContractMultiplier double 契約成數
StrikePx double 選擇權商品履約價
Market int 市場別 0: 期貨
1: 選擇權
2: 集中市場(證交所)
3: 櫃買市場(OTC)
TradeUnit int 交易單位
DayTrade int 當沖註記.
1: 可雙向當沖
2: 可先買後賣當沖
其他:不可當沖
TradeFlag bool 商品是否可交易 true:是 false:否
WarningStock int 警示股代碼.
int 0—正常
1—注意
2—處置
3—注意及處置
4—再次處置
5—注意及再次處置
6—彈性處置
7—注意及彈性處置
IsWarrant bool 是不是權證商品
CallPut char 'C': call的選擇權
'P': Put的選擇權
其他: 非選擇權商品

委託簿更新資料 class spdMsgOrderBook

委託簿更新資料 class spdMsgOrderBook
屬性 型態 說明
BidPrice1 double 最佳買一價
BidPrice2 double 最佳買二價
BidPrice3 double 最佳買三價
BidPrice4 double 最佳買四價
BidPrice5 double 最佳買五價
BidQty1 int 最佳買一量
BidQty2 int 最佳買二量
BidQty3 int 最佳買三量
BidQty4 int 最佳買四量
BidQty5 int 最佳買五量
AskPrice1 double 最佳賣一價
AskPrice2 double 最佳賣二價
AskPrice3 double 最佳賣三價
AskPrice4 double 最佳賣四價
AskPrice5 double 最佳賣五價
AskQty1 int 最佳賣一量
AskQty2 int 最佳賣二量
AskQty3 int 最佳賣三量
AskQty4 int 最佳賣四量
AskQty5 int 最佳賣五量
DerivedBidPrice double 衍生Bid價格.(僅期交所提供)
DerivedBidQty double 衍生Bid數量.(僅期交所提供)
DerivedAskPrice double 衍生Ask價格.(僅期交所提供)
DerivedAskQty double 衍生Ask數量.(僅期交所提供)
IsTestMatch double 是否為試撮

事件

行情主機連線完成的Event. 由使用者實作繼承 spdQuoteAPI 類別後自行定義事件的處理邏輯
virtual void OnStarwaveConnected(){}
發生斷線的Event. 由使用者實作繼承 spdQuoteAPI 類別後自行定義事件的處理邏輯
virtual void OnStarwaveDisconnected(){}
行情主機登入結果回覆的Event. 由使用者實作繼承 spdQuoteAPI 類別後自行定義事件的處理邏輯
/*
  IsSucceed    是否成功 true:成功 false:失敗 
  ReplyString  登入訊息 
  
  */
virtual void OnStarwaveLogonResponse(bool IsSucceed, const char* ReplyString){}
通知商品基本資料下載完成的Event. 由使用者實作繼承 spdQuoteAPI 類別後自行定義事件的處理邏輯。
之後可以用 Stocks, Futures, Options 這幾個屬性(型態為Dictionary, key為商品代碼, value 為 ContractInfo)取到商品基本資料
/*
TotalContracts 下載的商品檔數目
*/
virtual void OnContractDownloadComplete(int TotalContracts){}
委託簿更新的Event. 由使用者實作繼承 spdQuoteAPI 類別後自行定義事件的處理邏輯
/*
Exchange  交易所
          證交所       "TWSE"   
          櫃買中心     "OTC"    
          期交所       "TAIFEX" 
Symbol    商品代碼 
MsgTime   資料時間     格式為 HH:MM:SS.mmm 
OrderBook 五檔行情資料 

*/
virtual void OnOrderBook(const char* Exchange, const char* Symbol, const char* MsgTime, spdMsgOrderBook* OrderBook){}
收到成交信息Event. 由使用者實作繼承 spdQuoteAPI 類別後自行定義事件的處理邏輯
/*
Exchange    交易所 
Exchange    交易所
            證交所    "TWSE"   
            櫃買中心  "OTC"    
            期交所    "TAIFEX" 
Symbol      商品代碼       
MatchTime   成交時間  格式為 HH:MM:SS.mmm 
MatchPrice  成交價格
MatchQty    成交數量
IsTestMatch 是否為試撮 
 
*/
virtual void OnTrade(const char* Exchange, const char* Symbol, const char* MatchTime, double MatchPrice, int MatchQty, bool IsTestMatch){}
收到商品檔Event. 由使用者實作繼承 spdQuoteAPI 類別後自行定義事件的處理邏輯
/*
  Exchange      交易所    
                證交所    "TWSE"   
                櫃買中心  "OTC"    
                期交所    "TAIFEX" 
  Symbol        商品代碼,例如 證券:"2330" 期貨:"TXFF3"     
  Name          商品顯示名稱.例如 "台積電" 
  MaturityDate  期貨商品結算年月 YYYYMM
  Category      商品類別.例如 證券:"17"(金融保險); 期貨:"TXF"
  Contract      商品基本資料 
  
 */ 
 virtual void OnContract(const char* Exchange,
                        const char* Symbol,
                        const char* Name,
                        const char* MaturityDate,
                        const char* Category,
                        spdContract* Contract) {}