C#行情API使用手冊
C#行情API驗證流程
API驗證流程
請先下載API元件,並使用您的程式登入元富API,登入測試環境。
於數位API網站線上驗證公告。
數位API網站公告驗證成功之後,請重新登入API。
請點選數位API網站線上認證"取得報價"按鈕。
請在數位API網站線上認證填入在API端取得的行情資料。
請點選數位API網站線上認證"驗證行情資料"按鈕。
若行情資料驗證正確,即自動開通行情API權限。
行情驗證成功之後,請重新登入API。
關聯網站
C#行情API範例程式說明
3. 執行Sample
進入專案目錄 WPF_MasterQuoteCSSample目錄下,直接開啟.csproj 檔案
直接執行 sample code,確認能夠使用API
輸入身分證字號、密碼、選擇訂閱內容後,開始連線
填入股票代號、期貨代號,按下訂閱
4. 回報狀態事件
4.1 Observer_OnSystemEvent
說明 | 系統訊息通知 |
---|
4.2 Observer_OnConnectState
說明 | 系統連線狀態 |
---|
4.3 Observer_OnUpdateLastSnapshot
說明 | 商品最新快照更新 |
---|
4.4 QuoteApi_OnLoginResultEvent_DAPI
說明 | 登入是否成功 |
---|
4.5 QuoteApi_OnAnnouncementEvent_DAPI
說明 | 公告內容 |
---|
4.6 QuoteApi_OnVerifiedEvent_DAPI
說明 | 驗證結果回報 |
---|
4.7 QuoteApi_OnSystemEvent_DAPI
說明 | 回傳驗證失敗訊息 |
---|
4.8 QuoteApi_OnUpdateBasic_DAPI
說明 | 回傳商品資訊 |
---|
5. API物件欄位說明
5.1 class ProductSnapshot (報價資料)
No. | 欄位名稱 | 資料類型 | 格式 | 說明 |
---|---|---|---|---|
1 | BasicData | ProductBasic | 商品基本資料 | |
2 | TickData | ProductTick | 商品Tick報價資料 |
5.2 class ProductTick (報價資料)
No. | 欄位名稱 | 資料類型 | 格式 | 說明 |
---|---|---|---|---|
1 | Exchange | String | 交易所(TWSE、TAIFEX) | |
2 | Symbol | String | 商品代號(TWSE、TAIFEX) | |
3 | MatchTime | String | %H:%M:%S.%f | 成交資料時間(TWSE、TAIFEX) |
4 | OrderBookTime | String | %H:%M:%S.%f | 五檔資料時間(TWSE、TAIFEX) |
5 | TxSeq | String | 交易所序號(TWSE、TAIFEX) | |
6 | ObSeq | String | 交易所序號(TWSE、TAIFEX) | |
7 | IsTrail | Bool | 0:非試撮,1:試撮 | 是否為試撮資料(TWSE、TAIFEX) |
8 | DecimalLocator | String | 價格欄位小數位數(TAIFEX) | |
9 | MatchPrice | String | 成交價 | 成交價(TWSE、TAIFEX) |
10 | MatchQty | String | 商品成交量(TWSE、TAIFEX) | |
11 | MatchPriceList | String[] | 一筆行情, 多筆成交價(TWSE、TAIFEX) | |
12 | MatchQtyList | String[] | 一筆行情, 多筆成交量(TWSE、TAIFEX) | |
13 | MatchBuyCount | String | 累計買進成交筆數(TAIFEX) | |
14 | MatchSellCount | String | 累計賣出成交筆數(TAIFEX) | |
15 | TotalMatchQty | String | 商品成交總量(TWSE、TAIFEX) | |
16 | TotalTradingAmount | String | 商品成交總額(TWSE、TAIFEX) | |
17 | TradingUnit | String | 交易單位(TWSE、TAIFEX) | |
18 | DayHigh | String | 當日最高價(TWSE、TAIFEX) | |
19 | DayLow | String | 當日最低價(TWSE、TAIFEX) | |
20 | RefPrice | String | 參考價(TWSE) | |
21 | BuyPrice | String[] | 五檔報價(買價) (TWSE、TAIFEX) | |
22 | BuyQty | String[] | 五檔報價(買量) (TWSE、TAIFEX) | |
23 | SellPrice | String[] | 五檔報價(賣價) (TWSE、TAIFEX) | |
24 | SellQty | String[] | 五檔報價(賣量) (TWSE、TAIFEX) | |
25 | AllMarketAmount | String | 整體市場成交總額(TWSE) | |
26 | AllMarketVolume | String | 整體市場成交數量(TWSE) | |
27 | AllMarketCnt | String | 整體市場成交筆數(TWSE) | |
28 | AllMarketBuyCnt | String | 整體市場委託買進筆數(TWSE) | |
29 | AllMarketSellCnt | String | 整體市場委託賣出筆數(TWSE) | |
30 | AllMarketBuyQty | String | 整體市場委託買進數量(TWSE) | |
31 | AllMarketSellQty | String | 整體市場委託賣出數量(TWSE) | |
32 | IsFixedPriceTransaction | String | 是否為定盤交易(TWSE) | |
33 | OpenPrice | String | 開盤價(TWSE、TAIFEX) | |
34 | FirstDerivedBuyPriceOrg | String | 衍生委託單第一檔買進價格數量(TAIFEX) | |
35 | FirstDerivedBuyQty | String | 衍生委託單第一檔買進價格數量(TAIFEX) | |
36 | FirstDerivedSellPriceOrg | String | 衍生委託單第一檔賣出價格數量(TAIFEX) | |
37 | FirstDerivedSellQty | String | 衍生委託單第一檔賣出價格數量(TAIFEX) | |
38 | TotalBuyOrder | String | 買進累計委託筆數(TAIFEX) | |
39 | TotalBuyQty | String | 買進累計委託合約數(TAIFEX) | |
40 | TotalSellOrder | String | 賣出累計委託筆數(TAIFEX) | |
41 | TotalSellQty | String | 賣出累計委託合約數(TAIFEX) | |
42 | ClosePrice | String | 收盤價(TAIFEX) | |
43 | SettlePrice | String | 結算價(TAIFEX) |
5.3 class ProductBasic (基本資料)
No. | 欄位名稱 | 資料類型 | 格式 | 說明 |
---|---|---|---|---|
1 | Exchange | String | 交易所(TWSE、TAIFEX) | |
2 | Symbol | String | 商品代號(TWSE、TAIFEX) | |
3 | Category | String | 商品分類(TWSE、TAIFEX) | |
4 | TodayRefPrice | String | 參考價(TAIFEX) | |
5 | RiseStopPrice | String | 漲停價(TWSE、TAIFEX) | |
6 | FallStopPrice | String | 跌停價(TWSE、TAIFEX) | |
7 | ChineseName | String | UTF-8 | 商品中文名稱(TWSE) |
8 | PreTotalMatchQty | String | 上一交易日成交總量(TWSE、TAIFEX) | |
9 | PreTodayRefPrice | String | 上一交易日參考價(TWSE、TAIFEX) | |
10 | PreClosePrice | String | 上一交易日收盤價(TWSE、TAIFEX) | |
11 | IndustryCategory | String | 參考“產業別代碼表” | 產業別(TWSE) |
12 | StockCategory | String | 參考"證券別代碼表" | 證券別(TWSE) |
13 | BoardRemark | String | 板別註記(TWSE) | |
14 | ClassRemark | String | 參考”股票異常代碼表” | 股票異常代碼(TWSE) |
15 | StockAnomalyCode | String | 參考"股票異常代碼表" | 股票異常代碼(TWSE) |
16 | NonTenParValueRemark | String | 非10元面額註記(TWSE) | |
17 | AbnormalRecommendationIndicator | String | 異常推介個股註記(TWSE) | |
18 | AbnormalSecuritiesIndicator | String | 異常推介個股註記(TWSE) | |
19 | DayTradingRemark | String | "0":預設值 "A":可先買後賣或先賣後買現股當沖證券 "B":時表示為 可先買後賣現股當沖證券 SPACE:表示為不可現股當沖證券 |
可現股當沖註記(TWSE) |
20 | TradingUnit | String | 交易單位(TWSE) | |
21 | TickSize | String | 最小跳動單位(TWSE) | |
22 | prodKind | String | 契約種類(TAIFEX) | |
23 | strikePriceDecimalLocator | String | 選擇權商品代號之履約價小數位數(TAIFEX) | |
24 | PreTotalTradingAmount | String | 上一交易日成交總額(TWSE) | |
25 | DecimalLocator | String | 價格小數位數(TAIFEX) | |
26 | BeginDate | String | YYYYMMDD | 上市日期(TAIFEX) |
27 | EndDate | String | YYYYMMDD | 下市日期(TAIFEX) |
28 | FlowGroup | String | 流程群組(TAIFEX) | |
29 | DeliveryDate | String | YYYYMMDD | 最後結算日(TAIFEX) |
30 | DynamicBanding | String | Y:適用 N:不適用 |
適用動態價格穩定(TAIFEX) |
31 | ContractSymbol | String | 契約代號(TAIFEX) | |
32 | ContractName | String | 契約中文名稱(TAIFEX) | |
33 | StockID | String | 現貨股票代碼(TAIFEX) | |
34 | StatusCode | String | N:正常 P:暫停交易 U:即將上市 |
狀態碼(TAIFEX) |
35 | Currency | String | 幣別(TAIFEX) | |
36 | AcceptQuoteFlag | String | 是否可報價(TAIFEX) | |
37 | BlockTradeFlag | String | Y:可 N:不可 |
是否可鉅額交易(TAIFEX) |
38 | ExpiryType | String | S:標準 W:週 |
到期別(TAIFEX) |
39 | UnderlyingType | String | E:ETF S:個股 |
現貨類別(TAIFEX) |
40 | MarketCloseGroup | String | 參考"商品收盤時間群組表" | 商品收盤時間群組(TAIFEX) |
41 | EndSession | String | 一般交易時段:0 盤後交易時段:1 |
交易時段(TAIFEX) |
42 | isAfterHours | String | 早盤 : 0 午盤: 1 |
早午盤識別(TAIFEX) |
C#行情API實作使用說明
1. 載入dll
路徑: WPF_MasterQuoteCSSample\bin\x86_Release\
元件: MasterQuoteCS.dll、MasterQuoteCS_DAPI.dll、Newtonsoft.Json.dll、NLog.dll、SolaceSystems.Solclient.Messaging.dll。
2. 初始化物件MarketDataMart
功能: 連線狀態通知、行情異動通知。
fQuoteApi = new MasterQuoteDAPI(fQuoteEvent);
fQuoteApi.OnSystemEvent_DAPI += QuoteApi_OnSystemEvent_DAPI;//驗證失敗訊息
fQuoteApi.OnUpdateBasic_DAPI += QuoteApi_OnUpdateBasic_DAPI;//傳來驗證商品資料
fQuoteApi.OnMatch_DAPI += QuoteApi_OnMatch_DAPI;//傳來驗證成交行情
fQuoteEvent.OnSystemEvent += Observer_OnSystemEvent;//系統訊息通知
fQuoteEvent.OnConnectState += Observer_OnConnectState;//系統連線狀態
fQuoteEvent.OnUpdateLastSnapshot += Observer_OnUpdateLastSnapshot;//國內商品最新快照更新
fQuoteEvent.OnUpdateOvsMatch += QuoteEvent_OnUpdateOvsMatch; //海期成交行情
fQuoteEvent.OnUpdateOvsOrderBook += QuoteEvent_OnUpdateOvsOrderBook;//海期五檔行情
※註:請參閱Sample中的「InitQuoteAPI」procedure。
3. 執行連線:執行函式Login
fQuoteApi.Login(aUsername, aUsername, aIsSIM);
參數說明
欄位名稱 | 格式 | 說明 |
---|---|---|
aUsername | String | 身份證字號 |
aPassword | String | 密碼 |
aIsSIM | Bool | 是否為測試主機 |
※註:請參閱Sample中的「DoQuoteConn」procedure。
4. API登入,驗證失敗回報
由「OnSystemEvent_DAPI」傳回驗證失敗訊息。
驗證成功, 會收到通知行情連線狀態, 方能開始訂閱行情、取商品檔。
※註:請參閱Sample中的「QuoteApi_OnSystemEvent_DAPI」procedure。
5. 系統公告驗證
由「QuoteApi_OnAnnouncementEvent_DAPI」會收到相關公告資訊。
請回傳公告內文,依照內文至驗證網進行公告驗證
6. API驗證成交行情
由「OnMatch_DAPI」傳回驗證行情, 請依照內容至驗證網進行驗證
※註:請參閱Sample中的「QuoteApi_OnMatch_DAPI」procedure。
[以下需驗證成功後, 才能進行]
7. API通知行情連線狀態
由「OnSystemEvent」傳回狀態, 其參數"aIsConnected"值為True表示連線成功。
※註:請參閱Sample中的「Observer_OnConnectState」procedure。
8. 訂閱國內行情:執行函式Subscribe
fQuoteApi.Subscribe(exchange, symbol);
參數說明
欄位名稱 | 格式 | 說明 |
---|---|---|
exchange | String | 交易所(TWS:證交所; TWF:期交所) |
symbol | String | 商品代碼 (證券:輸入股票代號; 期貨:輸入期交所委託代碼, 例如:TXFA3) |
※註:請參閱Sample中的「btnSymbol_Sub_Click」procedure。
9. API通知國內行情異動
由「OnUpdateLastSnapshot」傳回行情, 行情欄位說明, 請閱本文「5.欄位規格」。
※註:請參閱Sample中的「Observer_OnUpdateLastSnapshot」procedure。
10. 取消訂閱國內行情:執行函式Unsubscribe
fQuoteApi.Unsubscribe(exchange, symbol);
參數說明
欄位名稱 | 格式 | 說明 |
---|---|---|
exchange | String | 交易所(TWS:證交所; TWF:期交所) |
symbol | String | 商品代碼 (證券:輸入股票代號; 期貨:輸入期交所委託代碼, 例如:TXFA3) |
※註:請參閱Sample中的「btnSymbol_UnSub_Click」procedure。
訊息代碼表
1. TWSE 證交所訊息代碼表
TWSE股票異常代碼
股票異常代碼 |
00—正常 01—注意 02—處置 03—注意及處置 |
04—再次處置 05—注意及再次處置 |
06—彈性處置 07—注意及彈性處置 |
產業別 | |||||
產業別代碼 | 產業別 | 產業別代碼 | 產業別 | 產業別代碼 | 產業別 |
---|---|---|---|---|---|
1 | 水泥工業 | 12 | 汽車工業 | 23 | 油電燃氣業 |
2 | 食品工業 | 14 | 建材營造 | 24 | 半導體業 |
3 | 塑膠工業 | 15 | 航運業 | 25 | 電腦及週邊設備業 |
4 | 紡織纖維 | 16 | 觀光事業 | 26 | 光電業 |
5 | 電機機械 | 17 | 金融保險 | 27 | 通信網路業 |
6 | 電器電纜 | 18 | 貿易百貨 | 28 | 電子零組件業 |
8 | 玻璃陶瓷 | 19 | 綜合 | 29 | 電子通路業 |
9 | 造紙工業 | 20 | 其他 | 30 | 資訊服務業 |
10 | 鋼鐵工業 | 21 | 化學工業 | 31 | 其他電子業 |
11 | 橡膠工業 | 22 | 生技醫療業 |
證券別 | |
代碼 | 意義 |
---|---|
W1 | 認購權證、等比例發行(公開發行時原始轉換標的股數為1000) |
W2 | 認購權證、不等比例發行(公開發行時原始轉換標的股數不為1000) |
W3 | 認售權證、等比例發行(公開發行時原始轉換標的股數為1000) |
W4 | 認售權證、不等比例發行(公開發行時原始轉換標的股數不為1000) |
BS | 本國企業上市屬證券股 |
FB | 本國企業上市屬銀行股 |
空白 | 其他本國企業上市證券 |
RR | 其它外國企業上市證券 |
RS | 外國企業上市屬證券股 |
RB | 外國企業上市屬銀行股 |
2. TAIFEX 期交所訊息代碼表
TAIFEX 期交所訊息代碼表
流程群組 | 開盤時間 | 收盤時間 |
---|---|---|
1 | 08:45 | 13:45 |
3 | 08:45 | 13:30 |
4 | 08:45 | 11:00 |
5 | 08:45 | 16:15 |
6 | 08:00 | 16:15 |
9 | 08:45 | 14:00 |
10 | 15:00 | 隔日05:00 |
11 | 17:25 | 隔日05:00 |
12 | 15:00 | 隔日03:30 (當美國東部夏令時間EDT:隔日02:30) |
13 | 15:00 | 06:15:00 PM (當英國夏令時間BST:17:15) |
14 | 15:00 | 10:30:00 PM (當美國東部夏令時間EDT:21:30) |
TAIFEX商品收盤時間群組
MARKET-CLOSE-GROUP | 收盤時間 |
---|---|
1 | 13:45 |
5 | 16:15 |
10 | 隔日5:00 |