nges交易系統(tǒng)_第1頁(yè)
nges交易系統(tǒng)_第2頁(yè)
nges交易系統(tǒng)_第3頁(yè)
nges交易系統(tǒng)_第4頁(yè)
nges交易系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩204頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 nges交易系統(tǒng)交易api和行情api接口規(guī)范 v1.25nges交易系統(tǒng)交易api和行情api接口規(guī)范version:1.25發(fā)布日期:2014年06月26日i 修訂記錄、核準(zhǔn)記錄和審核記錄修訂記錄版本編號(hào)修訂日期主要修訂摘要1.25-r0012014/03/26技術(shù)公司:traderapi增加了期權(quán)放棄執(zhí)行功能;traderapi修改了期權(quán)申請(qǐng)執(zhí)行相關(guān)函數(shù)的參數(shù);traderapi增加了詢價(jià)指令增加了錯(cuò)誤代碼說(shuō)明;增加了枚舉值;增加了數(shù)據(jù)類型。1.24-r0012013/5/7技術(shù)公司:traderapi增加了度量功能:addmeasureitem、onmeasurenotify1.23

2、-r0012013/5/6技術(shù)公司:修改了報(bào)單方法reqorderinsert說(shuō)明。1.22-r0022012/9/10技術(shù)公司:traderapi增加了匯率查詢功能:reqqryexchangerate、onrspqryexchangerate;合約結(jié)構(gòu)增加了幣種字段:currencyid;traderapi開(kāi)放了信息查詢功能:reqqryinformation、onrspqryinformation。1.22-r0012011/6/16技術(shù)公司:traderapi增加reqqryexecorder、onrspqryexecorder方法;mduserapi增加onrtnflowmessag

3、ecancel方法;給部分結(jié)構(gòu)增加了actionday字段;給部分結(jié)構(gòu)增加了businesslocalid字段;給執(zhí)行宣告增加了offsetflag字段。1.20-r0022009/5/4技術(shù)中心和技術(shù)公司:根據(jù)會(huì)員接入規(guī)范和流程測(cè)試結(jié)果修改文檔。1.20-r0012008/12/4技術(shù)公司:增加災(zāi)備接口;增加主題查詢接口說(shuō)明。1.12-r0032008/01/28技術(shù)公司:增加restart、resume和quick三種數(shù)據(jù)流恢復(fù)模式。1.12-r0022007/12/17技術(shù)部:合并traderapi和mduserapi文檔,調(diào)整部分章節(jié)內(nèi)容。1.12-r0012007/12/11技術(shù)公司

4、:增加了錯(cuò)誤代碼處理;增加了私有流序列號(hào)設(shè)置功能;增加了前置機(jī)nameserver內(nèi)容,但暫時(shí)不開(kāi)放。1.08-r0012007/8/31上海期貨交易所技術(shù)部:根據(jù)nges v1.08交易系統(tǒng)修改部分接口;提高壓縮效率;增加交易員私有流。1.002006/8/11上海期貨信息技術(shù)有限公司制定初稿。核準(zhǔn)記錄核準(zhǔn)人員屬于部門(mén)(單位)核準(zhǔn)日期技術(shù)中心審核記錄審核人員屬于部門(mén)(單位)審核日期鄒文軍技術(shù)中心2014/4/29文件制作和維護(hù):上海期貨交易所技術(shù)部;上海期貨信息技術(shù)有限公司。目 錄第一部分、nges交易系統(tǒng)接口介紹11.介紹21.1.背景21.2.traderapi簡(jiǎn)介31.3.mduser

5、api簡(jiǎn)介31.4.traderapi/mduserapi發(fā)行的平臺(tái)41.5.修改歷史41.5.1.版本1.2041.5.2.版本1.2251.5.3.版本1.2371.5.4.版本1.2481.5.5.版本1.2582.ftd體系結(jié)構(gòu)102.1.通訊模式112.2.數(shù)據(jù)流123.接口模式153.1.traderapi接口153.1.1.對(duì)話流和查詢流編程接口153.1.2.私有流編程接口163.1.3.公共流編程接口163.2.mduserapi接口163.2.1.對(duì)話流編程接口173.2.2.行情流編程接口184.運(yùn)行模式194.1.工作流程194.1.1.初始化階段194.1.2.功能調(diào)

6、用階段194.2.工作線程204.3.會(huì)員系統(tǒng)使用traderapi與交易系統(tǒng)的交互214.4.與交易所前置系統(tǒng)的連接234.5.本地文件244.6.請(qǐng)求/應(yīng)答日志文件244.7.可靠數(shù)據(jù)流的訂閱方式244.7.1.api維護(hù)重傳報(bào)文的序號(hào)254.7.2.會(huì)員系統(tǒng)維護(hù)重傳報(bào)文的序號(hào)264.8.心跳機(jī)制(heartbeat)274.9.前置機(jī)列表284.10.災(zāi)備接口30第二部分、traderapi參考手冊(cè)321.traderapi接口分類331.1.管理接口331.2.業(yè)務(wù)接口331.3.當(dāng)前版本不開(kāi)放的業(yè)務(wù)362.traderapi參考手冊(cè)382.1.cshfeftdctraderspi接口

7、382.1.1.onfrontconnected 方法382.1.2.onfrontdisconnected 方法382.1.3.onheartbeatwarning方法392.1.4.onpackagestart方法392.1.5.onpackageend方法392.1.6.onrspuserlogin方法402.1.7.onrspuserlogout 方法412.1.8.onrspuserpasswordupdate 方法422.1.9.onrspsubscribetopic方法432.1.10.onrspqrytopic方法442.1.11.onrsperror 方法452.1.12.o

8、nrsporderinsert 方法462.1.13.onrsporderaction 方法492.1.14.onrspquoteinsert 方法512.1.15.onrspquoteaction 方法532.1.16.onrspexecorderinsert 方法552.1.17.onrspexecorderaction 方法572.1.18.onrspqrypartaccount 方法592.1.19.onrspqryorder 方法602.1.20.onrspqryquote 方法632.1.21.onrspqrytrade 方法652.1.22.onrspqryclient 方法67

9、2.1.23.onrspqrypartposition 方法682.1.24.onrspqryclientposition 方法702.1.25.onrspqryinstrument 方法722.1.26.onrspqryinstrumentstatus 方法742.1.27.onrspqrybulletin 方法752.1.28.onrspqrymarketdata 方法762.1.29.onrspqrymblmarketdata 方法782.1.30.onrspqryhedgevolume 方法792.1.31.onrtntrade 方法802.1.32.onrtnorder 方法822.

10、1.33.onrtnquote 方法842.1.34.onrtnexecorder 方法862.1.35.onrtninstrumentstatus 方法872.1.36.onrtninsinstrument 方法882.1.37.onrtndelinstrument 方法892.1.38.onrtninscombinationleg 方法902.1.39.onrtndelcombinationleg 方法912.1.40.onrtnbulletin 方法922.1.41.onrtnaliasdefine 方法922.1.42.onrtnflowmessagecancel方法932.1.43.

11、onerrrtnorderinsert方法942.1.44.onerrrtnorderaction方法952.1.45.onerrrtnquoteinsert方法972.1.46.onerrrtnquoteaction方法982.1.47.onerrrtnexecorderinsert方法992.1.48.onerrrtnexecorderaction方法1002.1.49.onrspcomborderinsert方法1012.1.50.onrspqrycomborder方法1032.1.51.onrtncomborder方法1062.1.52.onerrrtncomborderinsert方

12、法1082.1.53.onrspqryexecorder方法1102.1.54.onrspqryexchangerate方法1122.1.55.onrspqryinformation方法1132.1.56.onmeasurenotify方法1142.1.57.onrspabandonexecorderinsert方法1142.1.58.onrspabandonexecorderaction方法1152.1.59.onrspqryabandonexecorder方法1162.1.60.onrtnabandonexecorder方法1182.1.61.onerrrtnabandonexecorde

13、rinsert方法1192.1.62.onerrrtnabandonexecorderaction方法1212.1.63.onrspquotedemand方法1222.1.64.onrtnquotedemandnotify方法1232.2.cshfeftdctraderapi接口1232.2.1.createftdctraderapi方法1242.2.2.getversion方法1242.2.3.release 方法1242.2.4.init 方法1252.2.5.join 方法1252.2.6.gettradingday方法1252.2.7.registerspi 方法1252.2.8.re

14、gisterfront 方法1262.2.9.registernameserver 方法1262.2.10.setheartbeattimeout方法1272.2.11.openrequestlog方法1272.2.12.openresponselog方法1272.2.13.subscribeprivatetopic方法1282.2.14.subscribepublictopic方法1282.2.15.subscribeusertopic方法1292.2.16.requserlogin 方法1292.2.17.requserlogout 方法1302.2.18.requserpasswordu

15、pdate 方法1312.2.19.reqsubscribetopic方法1322.2.20.reqqrytopic方法1332.2.21.reqorderinsert 方法1332.2.22.reqorderaction 方法1352.2.23.reqquoteinsert 方法1372.2.24.reqquoteaction 方法1382.2.25.reqexecorderinsert 方法1392.2.26.reqexecorderaction 方法1402.2.27.reqqrypartaccount 方法1412.2.28.reqqryorder 方法1422.2.29.reqqry

16、quote 方法1432.2.30.reqqrytrade 方法1442.2.31.reqqryclient 方法1452.2.32.reqqrypartposition 方法1462.2.33.reqqryclientposition 方法1472.2.34.reqqryinstrument 方法1482.2.35.reqqryinstrumentstatus 方法1482.2.36.reqqrymarketdata 方法1492.2.37.reqqrybulletin 方法1502.2.38.reqqrymblmarketdata 方法1512.2.39.reqqryhedgevolume

17、 方法1512.2.40.reqcomborderinsert方法1522.2.41.reqqrycomborder方法1542.2.42.reqqryexecorder方法1552.2.43.reqqryexchangerate方法1562.2.44.reqqryinformation方法1572.2.45.addmeasureitem方法1582.2.46.reqabandonexecorderinsert 方法1592.2.47.reqabandonexecorderaction 方法1602.2.48.reqqryabandonexecorder方法1612.2.49.reqquote

18、demand方法1623.traderapi開(kāi)發(fā)示例163第三部分、mduserapi參考手冊(cè)1681.mduserapi接口分類1691.1.管理接口1691.2.業(yè)務(wù)接口1692.mduserapi參考手冊(cè)1702.1.cshfeftdcmduserspi接口1702.1.1.onfrontconnected 方法1702.1.2.onfrontdisconnected 方法1702.1.3.onheartbeatwarning方法1712.1.4.onpackagestart方法1712.1.5.onpackageend方法1712.1.6.onrspuserlogin方法1722.1.

19、7.onrspuserlogout 方法1732.1.8.onrspsubscribetopic方法1742.1.9.onrspqrytopic方法1752.1.10.onrsperror 方法1762.1.11.onrtndepthmarketdata 方法1762.1.12.onrtnflowmessagecancel 方法1792.2.cshfeftdcmduserapi接口1792.2.1.createftdcmduserapi方法1803.1.1.getversion方法1802.2.2.release 方法1802.2.3.init 方法1812.2.4.join 方法1812.2

20、.5.gettradingday方法1812.2.6.registerspi 方法1812.2.7.registerfront 方法1822.2.8.registernameserver 方法1822.2.9.setheartbeattimeout方法1832.2.10.subscribemarketdatatopic方法1832.2.11.requserlogin 方法1842.2.12.requserlogout 方法1852.2.13.reqsubscribetopic方法1852.2.14.reqqrytopic方法1863.mduserapi開(kāi)發(fā)示例188第四部分 附錄1911.錯(cuò)誤

21、編碼列表1912.枚舉值列表1943.數(shù)據(jù)類型列表198v第一部分、nges交易系統(tǒng)接口介紹本部分主要介紹nges交易系統(tǒng)的接口,包括:第一章引入nges交易系統(tǒng)的兩個(gè)接口,traderapi用于會(huì)員系統(tǒng)下達(dá)交易、控制和查詢指令,接收私有流(含報(bào)單插入、報(bào)單操作響應(yīng)和成交回報(bào))、公共流(市場(chǎng)控制提示)、響應(yīng)流和查詢流(查詢結(jié)果);mduserapi用于會(huì)員系統(tǒng)和行情轉(zhuǎn)發(fā)商系統(tǒng)接收行情流。第二章介紹了兩個(gè)api之后使用的通信協(xié)議ftd(futures trading data exchange protocol),重點(diǎn)說(shuō)明了數(shù)據(jù)流。第三章介紹了兩個(gè)api對(duì)應(yīng)于不同類型應(yīng)用的編程接口。第四章介紹了

22、api的工作模式,包括線程之間的通信、心跳機(jī)制和私有流信息傳輸?shù)目煽啃詫?shí)現(xiàn)。作為nges交易系統(tǒng)的接口基礎(chǔ),traderapi和mduserapi的用戶應(yīng)該仔細(xì)閱讀第一部分內(nèi)容。第201頁(yè)1. 介紹1.1. 背景上海期貨交易所于2006年11月3日成功上線了“新一代交易所系統(tǒng)”(簡(jiǎn)稱nges)的第一階段項(xiàng)目,其中包括交易系統(tǒng)(簡(jiǎn)稱nges交易系統(tǒng))。nges交易系統(tǒng)使用了開(kāi)放的主流平臺(tái),可以運(yùn)行在unix和windows操作系統(tǒng)上。在中國(guó)證監(jiān)會(huì)信息中心的統(tǒng)一領(lǐng)導(dǎo)下,上海期貨交易所(簡(jiǎn)稱shfe或者交易所)、鄭州商品交易所(簡(jiǎn)稱czce)和大連商品交易所(簡(jiǎn)稱dce)聯(lián)合研究了期貨交易數(shù)據(jù)交換標(biāo)

23、準(zhǔn)(futures trading data exchange protocol,簡(jiǎn)稱ftd或者ftd協(xié)議)。中國(guó)證監(jiān)會(huì)于2005年3月25日發(fā)布了ftd(jr/t 0016-2004),并于同日作為行業(yè)標(biāo)準(zhǔn)實(shí)施。nges交易系統(tǒng)本質(zhì)上使用ftd作為會(huì)員遠(yuǎn)程交易的主接入?yún)f(xié)議,ftd協(xié)議體系較為復(fù)雜,為簡(jiǎn)化會(huì)員端遠(yuǎn)程交易系統(tǒng)的開(kāi)發(fā)難度,同時(shí)也為提高交易系統(tǒng)運(yùn)行的可靠性,shfe不建議會(huì)員的遠(yuǎn)程交易系統(tǒng)(簡(jiǎn)稱會(huì)員系統(tǒng)或者會(huì)員端)直接使用ftd協(xié)議接入nges交易系統(tǒng)。為此,上海期貨交易所發(fā)布了nges交易系統(tǒng)的交易api接口(簡(jiǎn)稱nges traderapi或者traderapi)和行情api接口

24、(簡(jiǎn)稱nges mduserapi或者mduserapi)。會(huì)員系統(tǒng)調(diào)用traderapi即可完成與nges交易系統(tǒng)的對(duì)接,接收到交易所的報(bào)單和成交回報(bào)后traderapi將回調(diào)(callback)會(huì)員系統(tǒng);會(huì)員系統(tǒng)或者行情轉(zhuǎn)發(fā)商(簡(jiǎn)稱行情商)(會(huì)員和行情轉(zhuǎn)發(fā)商接收交易所行情的系統(tǒng)統(tǒng)稱為行情接收端程序)系統(tǒng)調(diào)用mduserapi即可完成與nges交易系統(tǒng)的對(duì)接,接收到交易所的行情后mduserapi將回調(diào)(callback)行情接收端程序(又稱為行情接收系統(tǒng))。traderapi把與nges交易系統(tǒng)之間復(fù)雜的協(xié)議轉(zhuǎn)換、數(shù)據(jù)同步和網(wǎng)絡(luò)通信進(jìn)行了封裝。traderapi通過(guò)建立一個(gè)基于tcp的虛鏈

25、路通道與nges交易系統(tǒng)交易前置機(jī)的連接,實(shí)現(xiàn)會(huì)員系統(tǒng)的報(bào)單等交易行為。通過(guò)traderapi建立的連接通道具有多地址注冊(cè)、斷線自動(dòng)重連和交易數(shù)據(jù)自動(dòng)重傳等特點(diǎn)。mduserapi與traderapi類似,建立一個(gè)基于tcp的虛鏈路通道與nges交易系統(tǒng)行情前置機(jī)的連接,實(shí)現(xiàn)行情的訂閱和接收。1.2. traderapi簡(jiǎn)介traderapi是一個(gè)基于c+的類庫(kù),通過(guò)使用和擴(kuò)展類庫(kù)提供的接口來(lái)實(shí)現(xiàn)全部的交易功能,包括報(bào)單與報(bào)價(jià)的錄入、報(bào)單與報(bào)價(jià)的撤銷、報(bào)單與報(bào)價(jià)的掛起、報(bào)單與報(bào)價(jià)的激活、報(bào)單與報(bào)價(jià)的修改、報(bào)單與報(bào)價(jià)的查詢、成交單查詢、會(huì)員客戶查詢、會(huì)員持倉(cāng)查詢、客戶持倉(cāng)查詢、合約查詢、合約交易

26、狀態(tài)查詢、交易所公告查詢。該類庫(kù)包含以下5個(gè)文件:文件名版本文件大小文件描述ftdctraderapi.hv1.20交易接口頭文件ftdcuserapistruct.hv1.20定義了userapi所需的一系列數(shù)據(jù)類型的頭文件ftdcuserapidatatype.hv1.20定義了一系列業(yè)務(wù)相關(guān)的數(shù)據(jù)結(jié)構(gòu)的頭文件traderapi.dllv1.20動(dòng)態(tài)鏈接庫(kù)二進(jìn)制文件traderapi.libv1.20導(dǎo)入庫(kù)文件支持ms vc 6.0,ms vc.net 2003編譯器。需要打開(kāi)多線程編譯選項(xiàng)/mt。注意:nges交易系統(tǒng)支持許多新的報(bào)單指令(比如市價(jià)、最優(yōu)價(jià)、組合交易等),還支持新的交易品

27、種(比如期權(quán)及其報(bào)價(jià)),但受現(xiàn)有交易規(guī)則限制,nges交易系統(tǒng)并沒(méi)有開(kāi)放上述功能。會(huì)員系統(tǒng)在開(kāi)發(fā)過(guò)程中需注意“當(dāng)前版本不開(kāi)放的業(yè)務(wù)”,同時(shí)在每個(gè)功能描述中的具體描述。1.3. mduserapi簡(jiǎn)介mduserapi也是一個(gè)基于c+的類庫(kù),通過(guò)使用和擴(kuò)展類庫(kù)提供的接口來(lái)實(shí)現(xiàn)全部的行情訂閱和接收功能。該類庫(kù)包含以下5個(gè)文件:文件名版本文件大小文件描述ftdcmduserapi.hv1.20行情接口頭文件ftdcuserapistruct.hv1.20定義了userapi所需的一系列數(shù)據(jù)類型的頭文件ftdcuserapidatatype.hv1.20定義了一系列業(yè)務(wù)相關(guān)的數(shù)據(jù)結(jié)構(gòu)的頭文件mduse

28、rapi.dllv1.20動(dòng)態(tài)鏈接庫(kù)二進(jìn)制文件mduapi.libv1.20導(dǎo)入庫(kù)文件支持ms vc 6.0,ms vc.net 2003編譯器。需要打開(kāi)多線程編譯選項(xiàng)/mt。1.4. traderapi/mduserapi發(fā)行的平臺(tái)目前發(fā)布了以下操作系統(tǒng)平臺(tái)的版本:l intel x86/windowsxp:包括.h文件、.dll文件和.lib文件。l intel linux:包括.h文件和.so文件;在redhat kernel 2.6.18-194下完成編譯。如果需要其他操作系統(tǒng)版本請(qǐng)和下面相關(guān)人員聯(lián)系:聯(lián)系人:王君鵬電話:+86-21-68400751手機(jī):+86-0-13795239

29、757郵箱:wang.junpeng1.5. 修改歷史1.5.1. 版本1.20本版本基于nges交易系統(tǒng)交易api和行情api接口規(guī)范v1.12 r003修改。主要有以下變更:l 本版本提供了災(zāi)備功能:n 增加【4.10災(zāi)備接口】,簡(jiǎn)要說(shuō)明了災(zāi)備原理。n 由于登錄報(bào)文中增加了數(shù)據(jù)中心代碼,traderapi、mduserapi修改了requserlogin和onrspuserlogin方法的參數(shù)。n traderapi中增加了“數(shù)據(jù)流回退通知”onrtnflowmessagecancel方法的說(shuō)明。l 本版本提供了數(shù)據(jù)流長(zhǎng)度的查詢功能:n 登錄交易系統(tǒng)時(shí),應(yīng)答中會(huì)返回當(dāng)前會(huì)員私有流長(zhǎng)度和交易

30、員私有流長(zhǎng)度。n traderapi、mduserapi增加了對(duì)reqqrytopic和rspqrytpoic方法說(shuō)明,用于查詢流長(zhǎng)度。l 對(duì)以前版本發(fā)現(xiàn)問(wèn)題的修正: n traderapi、mduserapi增加了getversion方法說(shuō)明,之前版本雖提供功能但無(wú)文檔說(shuō)明。n mduserapi增加了registernameserver方法說(shuō)明,之前版本雖提供功能但無(wú)文檔說(shuō)明。l 修改了聯(lián)系人,將周軍改成王君鵬。1.5.2. 版本1.22本版本基于nges交易系統(tǒng)交易api和行情api接口規(guī)范v1.20修改。主要有以下變更:l 本版本增加了以下函數(shù)接口:n traderapi中增加了“執(zhí)行

31、宣告查詢”,見(jiàn)【2.2.42 reqqryexecorder方法】。n traderapi中增加了“執(zhí)行宣告查詢應(yīng)答”,見(jiàn)【2.1.53 onrspqryexecorder方法】。n mduserapi中增加了“數(shù)據(jù)流回退通知”,見(jiàn)【2.1.12 onrtnflowmessagecancel 方法】。n traderapi中增加了“匯率查詢”,見(jiàn)【2.2.43 reqqryexchangerate方法】。n traderapi中增加了“匯率查詢應(yīng)答”,見(jiàn)【2.1.54 onrspqryexchangerate方法】。n traderapi中增加了“信息查詢”,見(jiàn)【2.2.44 reqqryin

32、formation方法】。n traderapi中增加了“信息查詢應(yīng)答”,見(jiàn)【2.1.55 onrspqryinformation方法】。l 本版本對(duì)以下結(jié)構(gòu)有字段增加:n cshfeftdcrspuserloginfield結(jié)構(gòu),增加actionday字段。n cshfeftdcmarketdatafield結(jié)構(gòu),增加actionday字段。n cshfeftdcdepthmarketdatafield結(jié)構(gòu),增加actionday字段。n cshfeftdcquotefield結(jié)構(gòu),增加actionday字段。n cshfeftdcquotefield結(jié)構(gòu),增加businesslocalid

33、字段。n cshfeftdctradefield結(jié)構(gòu),增加actionday字段。n cshfeftdctradefield結(jié)構(gòu),增加businesslocalid字段。n cshfeftdcorderfield結(jié)構(gòu),增加actionday字段。n cshfeftdcorderfield結(jié)構(gòu),增加businesslocalid字段。n cshfeftdccomborderfield結(jié)構(gòu),增加actionday字段。n cshfeftdccomborderfield結(jié)構(gòu),增加businesslocalid字段。n cshfeftdcexecorderfield結(jié)構(gòu),增加actionday字段。n

34、 cshfeftdcexecorderfield結(jié)構(gòu),增加businesslocalid字段。n cshfeftdcexecorderfield結(jié)構(gòu),增加offsetflag字段。n cshfeftdcinputexecorderfield結(jié)構(gòu),增加offsetflag字段。n cshfeftdcinputexecorderfield結(jié)構(gòu),增加businesslocalid字段。n cshfeftdcinputorderfield結(jié)構(gòu),增加businesslocalid字段。n cshfeftdcorderactionfield結(jié)構(gòu),增加businesslocalid字段。n cshfeftd

35、cinputquotefield結(jié)構(gòu),增加businesslocalid字段。n cshfeftdcquoteactionfield結(jié)構(gòu),增加businesslocalid字段。n cshfeftdcexecorderactionfield結(jié)構(gòu),增加businesslocalid字段。n cshfeftdcinputcomborderfield結(jié)構(gòu),增加businesslocalid字段。n cshfeftdcrspinstrumentfield結(jié)構(gòu),增加currencyid字段。l 本版本新增字段說(shuō)明:n actionday:含義為實(shí)際發(fā)生日期;在夜市交易業(yè)務(wù)開(kāi)展后,一筆交易的實(shí)際發(fā)生日期與

36、交易日是可以不同的,因此需要增加一個(gè)實(shí)際發(fā)生日期來(lái)明確定位一筆交易。已有的tradingday則保持原有交易日的含義。譬如1號(hào)晚上的交易發(fā)生日期為1號(hào),而其交易日則是2號(hào)。n businesslocalid:含義為客戶設(shè)定的本地業(yè)務(wù)標(biāo)志;因用戶輸入一筆報(bào)單而產(chǎn)生的報(bào)單錄入應(yīng)答、報(bào)單回報(bào)、成交回報(bào)(如果能成交的話)等都是因同一個(gè)輸入而產(chǎn)生,因此增加一個(gè)客戶自己設(shè)定的業(yè)務(wù)標(biāo)識(shí)可以方便客戶跟蹤一筆輸入所產(chǎn)生的所有相關(guān)結(jié)果。n currencyid:含義為幣種代碼;合約結(jié)構(gòu)中的幣種代碼表示該合約的報(bào)單幣種,即假設(shè)幣種代碼是人民幣,則該合約采用人民幣價(jià)格單位報(bào)單,該筆報(bào)單產(chǎn)生的相應(yīng)成交和行情都以人民幣為

37、單位,如果幣種代碼是美元,則該合約采用美元價(jià)格單位報(bào)單,該筆報(bào)單產(chǎn)生的相應(yīng)成交和行情都以美元為單位。l 本版本對(duì)以下章節(jié)描述錯(cuò)誤進(jìn)行了修正:n traderapi【2.2.41 reqqrycomborder方法】中,對(duì)參數(shù)的描述進(jìn)行了修正。n mduserapi【2.1.6 onrspuserlogin方法】中,對(duì)參數(shù)的描述進(jìn)行了修正。1.5.3. 版本1.23本版本基于nges交易系統(tǒng)交易api和行情api接口規(guī)范v1.22修改。主要有以下變更:l 本版本修改了reqorderinsert方法的說(shuō)明,見(jiàn)【2.2.21 reqorderinsert方法】:n 有效期類型timeconditi

38、on,將“僅支持當(dāng)日有效”改為支持“當(dāng)日有效和立即成交,否則撤銷”;n 成交量類型volumecondition,將“只支持任意數(shù)量”改為“支持任意數(shù)量,有效期類型為tc_ioc時(shí)也支持最小數(shù)量、全部數(shù)量”。n 最小數(shù)量minvolume,將“未使用”去掉,改為成交量條件為最小數(shù)量時(shí)有效。n fak(fill and kill)指令就是將報(bào)單的有效期類型設(shè)置為tc_ioc,同時(shí),將成交量類型設(shè)置為vc_av,即任意數(shù)量;fok(fill or kill)指令就是將報(bào)單的有效期類型設(shè)置為tc_ioc,同時(shí)將成交量類型設(shè)置為vc_cv,即全部數(shù)量。此外,在fak指令下,還可指定最小成交數(shù)量,即在指

39、定價(jià)位、滿足最小成交數(shù)量以上成交,剩余訂單自動(dòng)被系統(tǒng)撤銷,否則自動(dòng)被系統(tǒng)全部撤銷。此種狀況下,有效期類型設(shè)置為tc_ioc,數(shù)量條件設(shè)為vc_mv,同時(shí)設(shè)定minvolume字段。具體類型的枚舉值可以參見(jiàn)第四部分-附錄第2節(jié)枚舉值列表。1.5.4. 版本1.24本版本基于nges交易系統(tǒng)交易api和行情api接口規(guī)范v1.23修改。主要有以下變更:l 本版本增加了以下函數(shù)接口:n traderapi中增加了“添加本地度量節(jié)點(diǎn)”,見(jiàn)【2.2.45 addmeasureitem方法】。n traderapi中增加了“度量通知響應(yīng)”,見(jiàn)【2.1.56 onmeasurenotify方法】。1.5.5

40、. 版本1.25本版本基于nges交易系統(tǒng)交易api和行情api接口規(guī)范v1.24修改。主要有以下變更:l 本版本增加了以下函數(shù)接口:n traderapi中增加了“放棄執(zhí)行宣告錄入應(yīng)答”,見(jiàn)【2.1.57 onrspabandonexecorderinsert方法】。n traderapi中增加了“放棄執(zhí)行宣告操作應(yīng)答”,見(jiàn)【2.1.58 onrspabandonexecorderaction方法】。n traderapi中增加了“放棄執(zhí)行宣告查詢應(yīng)答”,見(jiàn)【2.1.59 onrspqryabandonexecorder方法】。n traderapi中增加了“放棄執(zhí)行宣告回報(bào)”,見(jiàn)【2.1.

41、60 onrtnabandonexecorder方法】。n traderapi中增加了“放棄執(zhí)行宣告錄入錯(cuò)誤回報(bào)”,見(jiàn)【2.1.61 onerrrtnabandonexecorderinsert方法】。n traderapi中增加了“放棄執(zhí)行宣告操作錯(cuò)誤回報(bào)”,見(jiàn)【2.1.62 onerrrtnabandonexecorderaction方法】。n traderapi中增加了“放棄執(zhí)行宣告錄入請(qǐng)求”,見(jiàn)【2.2.46 reqabandonexecorderinsert方法】。n traderapi中增加了“放棄執(zhí)行宣告操作請(qǐng)求”,見(jiàn)【2.2.47 reqabandonexecorderacti

42、on方法】。n traderapi中增加了“放棄執(zhí)行宣告查詢請(qǐng)求”,見(jiàn)【2.2.48 reqqryabandonexecorder方法】。n traderapi中增加了“詢價(jià)錄入請(qǐng)求”,見(jiàn)【2.2.49 reqquotedemand方法】。n traderapi中增加了“詢價(jià)錄入應(yīng)答”,見(jiàn)【2.1.63 onrspquotedemand方法】。n traderapi中增加了“詢價(jià)請(qǐng)求分發(fā)”,見(jiàn)【2.1.64 onrtnquotedemandnotify方法】。l 本版本修改了以下結(jié)構(gòu)字段:n struct cshfeftdcinputexecorderfield結(jié)構(gòu)增加了hedgeflag、p

43、osidirection、reservepositionflag和closeflag字段;n struct cshfeftdcexecorderfield結(jié)構(gòu)增加了hedgeflag、posidirection、reservepositionflag和closeflag字段;l 本版本新增了以下結(jié)構(gòu)字段:n 輸入放棄執(zhí)行宣告結(jié)構(gòu)struct cshfeftdcinputabandonexecorderfield;n 放棄執(zhí)行宣告操作結(jié)構(gòu)struct cshfeftdcabandonexecorderactionfield;n 放棄執(zhí)行宣告查詢結(jié)構(gòu)struct cshfeftdcqryaband

44、onexecorderfield;n 放棄執(zhí)行宣告結(jié)構(gòu)struct cshfeftdcabandonexecorderfield;n 詢價(jià)錄入請(qǐng)求結(jié)構(gòu)struct cshfeftdcinputquotedemandfield;n 詢價(jià)錄入應(yīng)答結(jié)構(gòu)struct cshfeftdcquotedemandinfofield;n 詢價(jià)請(qǐng)求分發(fā)結(jié)構(gòu)struct cshfeftdcquotedemandnotfiyfield;l 本版本增加了以下數(shù)據(jù)類型:n tftdcexecorderpositionflagtype是一個(gè)期權(quán)行權(quán)后是否保留期貨頭寸的標(biāo)記類型,分為保留- shfe_ftdc_eopf_r

45、eserve和不保留- shfe_ftdc_eopf_unreserve;n tftdcexecordercloseflagtype是一個(gè)期權(quán)行權(quán)后生成的頭寸是否自動(dòng)平倉(cāng)標(biāo)記類型,分為自動(dòng)平倉(cāng)- shfe_ftdc_eocf_autoclose和免于自動(dòng)平倉(cāng)- shfe_ftdc_eocf_nottoclose;n 合約狀態(tài)枚舉值增加了is_transactionprocessing交易業(yè)務(wù)處理階段,目前針對(duì)期權(quán)即為僅允許宣告的階段。l 本版本增加了以下錯(cuò)誤編碼說(shuō)明:n 121:放棄執(zhí)行宣告字段錯(cuò)誤;n 122:放棄執(zhí)行宣告操作字段錯(cuò)誤;n 123:重復(fù)的放棄執(zhí)行宣告;n 124:放棄執(zhí)行宣告

46、已經(jīng)取消;n 125:放棄執(zhí)行宣告找不到;n 126:放棄執(zhí)行宣告只能用于期權(quán);n 127:不在宣告期內(nèi);n 128:只有持有多頭倉(cāng)位才能放棄行權(quán);n 129:執(zhí)行或放棄執(zhí)行宣告不能為開(kāi)倉(cāng);n 130:沒(méi)有足夠的持倉(cāng)用于申請(qǐng)保留;2. ftd體系結(jié)構(gòu)會(huì)員和行情商的系統(tǒng)并不直接與nges交易系統(tǒng)的核心主機(jī)通信;從安全隔離角度上看,會(huì)員和行情商甚至不能意識(shí)到有交易撮合主機(jī)和行情主機(jī)的存在;會(huì)員和行情商只能連接到上述主機(jī)的兩個(gè)代理服務(wù)器,分別是交易前置機(jī)(簡(jiǎn)稱交易前置,也被稱為交易系統(tǒng)或交易所系統(tǒng))和行情前置機(jī)(簡(jiǎn)稱為行情前置)。交易前置機(jī)負(fù)責(zé)會(huì)員系統(tǒng)的交易業(yè)務(wù),但不負(fù)責(zé)發(fā)送行情,此項(xiàng)功能由行情前置

47、機(jī)完成。traderapi使用建立在tcp協(xié)議之上的ftd協(xié)議與nges交易系統(tǒng)的前置機(jī)通信。mduserapi使用建立在tcp協(xié)議之上的ftd協(xié)議與nges交易系統(tǒng)的行情前置機(jī)通信。行情前置負(fù)責(zé)處理行情接收系統(tǒng)的行情訂閱請(qǐng)求,并將所訂閱的行情推送到行情接收系統(tǒng)。2.1. 通訊模式ftd協(xié)議中的所有通訊都基于某個(gè)通訊模式。通訊模式實(shí)際上就是通訊雙方協(xié)同工作的方式。ftd涉及的通訊模式共有三種:l 對(duì)話通訊模式l 私有通訊模式l 廣播通訊模式對(duì)話通訊模式是指由會(huì)員系統(tǒng)主動(dòng)發(fā)起的通訊請(qǐng)求。該請(qǐng)求被交易系統(tǒng)接收和處理,并給予響應(yīng)。例如報(bào)單、查詢等。這種通訊模式與普通的客戶/服務(wù)器模式相同。私有通訊模

48、式是指交易系統(tǒng)主動(dòng),向某個(gè)特定的會(huì)員或者特定會(huì)員的某個(gè)特定交易員發(fā)出的信息。例如成交回報(bào)等。廣播通訊模式是指交易系統(tǒng)主動(dòng),向市場(chǎng)中的所有會(huì)員都發(fā)出相同的信息。例如公告、市場(chǎng)公共信息等。通訊模式和網(wǎng)絡(luò)的連接不一定存在簡(jiǎn)單的一對(duì)一的關(guān)系。也就是說(shuō),一個(gè)網(wǎng)絡(luò)連接中可能傳送多種不同通訊模式的報(bào)文,一種通訊模式的報(bào)文也可以在多個(gè)不同的連接中傳送。無(wú)論哪種通訊模式,其通訊過(guò)程都如圖1所示:圖表 1各通訊模式的工作過(guò)程2.2. 數(shù)據(jù)流交易前置支持對(duì)話通訊模式、私有通訊模式、廣播通訊模式。行情前置的行情轉(zhuǎn)發(fā)功能支持對(duì)話通訊模式、廣播通訊模式。1、對(duì)話通訊模式對(duì)話通訊模式下支持對(duì)話數(shù)據(jù)流和查詢數(shù)據(jù)流。對(duì)話數(shù)據(jù)流

49、是一個(gè)雙向數(shù)據(jù)流,會(huì)員系統(tǒng)發(fā)送交易請(qǐng)求,交易系統(tǒng)反饋應(yīng)答。交易系統(tǒng)不維護(hù)對(duì)話流的狀態(tài)。系統(tǒng)故障時(shí),對(duì)話數(shù)據(jù)流會(huì)重置,在途的數(shù)據(jù)可能會(huì)丟失。查詢數(shù)據(jù)流是一個(gè)雙向數(shù)據(jù)流,會(huì)員系統(tǒng)發(fā)送查詢請(qǐng)求,交易系統(tǒng)反饋應(yīng)答。交易系統(tǒng)不維護(hù)查詢流的狀態(tài)。系統(tǒng)故障時(shí),查詢數(shù)據(jù)流會(huì)重置,在途的數(shù)據(jù)可能會(huì)丟失。2、私有通訊模式在私有通訊模式下,數(shù)據(jù)流是可靠的。在一個(gè)交易日內(nèi),會(huì)員系統(tǒng)斷線后恢復(fù)連接時(shí),可以請(qǐng)求交易系統(tǒng)發(fā)送指定序號(hào)之后的私有數(shù)據(jù)流數(shù)據(jù)。私有數(shù)據(jù)流向會(huì)員系統(tǒng)提供報(bào)單狀態(tài)報(bào)告、成交回報(bào)更等信息。私有數(shù)據(jù)流分為會(huì)員私有流和交易員私有流兩種。交易系統(tǒng)維護(hù)每個(gè)會(huì)員的私有流,有關(guān)該會(huì)員的回報(bào)信息,如報(bào)單回報(bào)、成交回報(bào)

50、等都通過(guò)會(huì)員私有流下發(fā)。交易員要有足夠的權(quán)限才可以訂閱會(huì)員私有流。交易員私有流與會(huì)員私有流類似,但只包含該交易員發(fā)起的交易引發(fā)的回報(bào)信息。每個(gè)交易員都可以訂閱自已的交易員私有流。3、廣播通訊模式廣播通訊模式下支持公共數(shù)據(jù)流。公共數(shù)據(jù)流是一個(gè)單向數(shù)據(jù)流,由交易系統(tǒng)或者行情系統(tǒng)發(fā)向會(huì)員系統(tǒng),用于發(fā)送市場(chǎng)公共信息;公共數(shù)據(jù)流是一個(gè)可靠的數(shù)據(jù)流,交易系統(tǒng)維護(hù)整個(gè)系統(tǒng)的公共數(shù)據(jù)流,在一個(gè)交易日內(nèi),會(huì)員系統(tǒng)斷線恢復(fù)連接時(shí),可以請(qǐng)求交易系統(tǒng)發(fā)送指定序號(hào)之后的公共數(shù)據(jù)流數(shù)據(jù)。以行情為例,行情數(shù)據(jù)流是一個(gè)公共數(shù)據(jù)流,由行情發(fā)布系統(tǒng)發(fā)向會(huì)員系統(tǒng),用于發(fā)送行情信息;行情流是一個(gè)可靠的數(shù)據(jù)流,交易系統(tǒng)維護(hù)整個(gè)系統(tǒng)的行

51、情流,在一個(gè)交易日內(nèi),行情接收系統(tǒng)斷線恢復(fù)連接時(shí),可以請(qǐng)求交易系統(tǒng)發(fā)送指定序號(hào)之后的行情流數(shù)據(jù)。交易系統(tǒng)所提供的行情內(nèi)容是按照主題組織的。每個(gè)主題包括一組合約的行情,還包括了行情發(fā)布內(nèi)容和發(fā)布方式,包括行情深度、采樣頻率、延遲時(shí)間等。交易所會(huì)公布各行情主題的具體內(nèi)容,并設(shè)定每個(gè)行情用戶所能訂閱的行情主題。每個(gè)行情主題對(duì)應(yīng)著一個(gè)行情流。要獲得行情通知,行情接收系統(tǒng)必需在連接行情前置后,訂閱一個(gè)或多個(gè)行情發(fā)布主題。3. 接口模式3.1. traderapi接口traderapi提供了二個(gè)接口,分別為cshfeftdctraderapi和cshfeftdctraderspi。這兩個(gè)接口是對(duì)ftd協(xié)議

52、的封裝。會(huì)員系統(tǒng)可以通過(guò)cshfeftdctraderapi發(fā)出操作請(qǐng)求,通過(guò)繼承cshfeftdctraderspi并重載回調(diào)函數(shù)來(lái)處理交易系統(tǒng)的回復(fù)或響應(yīng)。3.1.1. 對(duì)話流和查詢流編程接口通過(guò)對(duì)話流進(jìn)行通訊的編程接口通常如下:/請(qǐng)求:int cshfeftdctraderapi:reqxxx(cshfeftdcxxxfield *preqxxx, int nrequestid)/響應(yīng):void cshfeftdctraderspi:onrspxxx(cshfeftdcxxxfield *prspxxx, cshfeftdcrspinfofield *prspinfo, int nreq

53、uestid, bool bislast)其中請(qǐng)求接口第一個(gè)參數(shù)為請(qǐng)求的內(nèi)容,不能為空。該參數(shù)根據(jù)請(qǐng)求命令的不同使用具有不同的類,該類的成員變量的類型和合法的數(shù)值請(qǐng)參閱附錄中的“枚舉值列表”和“數(shù)據(jù)類型列表”。請(qǐng)求接口的第二個(gè)參數(shù)為請(qǐng)求號(hào)。請(qǐng)求號(hào)由會(huì)員系統(tǒng)負(fù)責(zé)維護(hù),交易所建議每個(gè)請(qǐng)求的請(qǐng)求號(hào)不會(huì)重復(fù)。在接收交易系統(tǒng)的響應(yīng)時(shí),可以得到當(dāng)時(shí)發(fā)出請(qǐng)求時(shí)填寫(xiě)的請(qǐng)求號(hào),從而可以將響應(yīng)與請(qǐng)求對(duì)應(yīng)起來(lái)。當(dāng)收到交易系統(tǒng)應(yīng)答時(shí),cshfeftdctraderspi的回調(diào)函數(shù)會(huì)被調(diào)用。如果響應(yīng)數(shù)據(jù)不止一個(gè),則回調(diào)函數(shù)會(huì)被多次調(diào)用?;卣{(diào)函數(shù)一共包含四個(gè)參數(shù)。其中:l 第一個(gè)參數(shù)為響應(yīng)的具體數(shù)據(jù),如果出錯(cuò)或沒(méi)有結(jié)果有

54、可能為null。l 第二個(gè)參數(shù)為處理結(jié)果,表明本次請(qǐng)求的處理結(jié)果是成功還是失敗。在發(fā)生多次回調(diào)時(shí),除了第一次回調(diào),其它的回調(diào)該參數(shù)都可能為null。l 第三個(gè)參數(shù)為請(qǐng)求號(hào),即原來(lái)發(fā)出請(qǐng)求時(shí)填寫(xiě)的請(qǐng)求號(hào)。l 第四個(gè)參數(shù)為響應(yīng)結(jié)束標(biāo)志,表明是否是本次響應(yīng)的最后一次回調(diào)。3.1.2. 私有流編程接口私有流中的數(shù)據(jù)為會(huì)員或者交易員的私有信息,包括報(bào)單回報(bào)、成交回報(bào)、報(bào)價(jià)回報(bào)、執(zhí)行宣告回報(bào)等。通過(guò)私有流接收回報(bào)的編程接口通常如下:void cshfeftdctraderspi:onrtnxxx(cshfeftdcxxxfield *pxxx);/或者void cshfeftdctraderspi:onerrrtnxxx(cshfeftdcxxxfield *pxxx, cshfeftdcrspinfofield *prspinfo);當(dāng)收到交易系統(tǒng)通過(guò)私有流發(fā)布的回報(bào)數(shù)據(jù)時(shí),cshfeftdctraderspi的回調(diào)函數(shù)會(huì)被調(diào)用。回調(diào)函數(shù)的參數(shù)為回報(bào)的具體內(nèi)容。3.1.3

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論