CTP API开发之一:CTP API简介
官網(wǎng)下載CTP API
綜合交易平臺CTP(Comprehensive Transaction Platform)是由上海期貨信息技術(shù)有限公司(上海期貨交易所的全資子公司)開發(fā)的期貨交易平臺,CTP平臺以"新一代交易所系統(tǒng)"的核心技術(shù)為基礎(chǔ),穩(wěn)定、高速、開放式接口,適合程序化交易軟件運(yùn)用和短線炒單客戶使用。官網(wǎng):http://www.sfit.com.cn
API接口文件清單:
整個開發(fā)包有2個核心頭文件包括4個核心接口,
CThostFtdcMdApi接口和CThostFtdcTraderApi兩個頭文件,一個處理行情,一個處理交易。
(1)處理行情的CThostFtdcMdApi接口有兩個類,分別是CThostFtdcMdApi和CThostFtdcMdSpi,以Api結(jié)尾的是用來下命令的,以Spi結(jié)尾的是用來響應(yīng)命令的回調(diào)。
(2)處理交易的CThostFtdcTraderApi接口也有兩個類,分別是CThostFtdcTraderApi和CThostFtdcTraderSpi, 通過CThostFtdcTraderApi向CTP發(fā)送操作請求,通過CThostFtdcTraderSpi接收CTP的操作響應(yīng)。
API命名規(guī)則:
CTP是基于多線程的,至少有兩個線程在工作,一個是程序主線程,另一個是API工作線程。
API底層封裝了TCP通訊,通過函數(shù)回調(diào)來使用API接口。
CTP的API封裝分為兩大部分,一個是TraderApi(thosttraderapi.dll)負(fù)責(zé)交易部分,另一個是MdUserApi(thostmduserapi.dll)負(fù)責(zé)行情部分,
交易接口初始化步驟:
// 初始化交易線程
cout << "初始化交易..." << endl;
g_pTradeUserApi = CThostFtdcTraderApi::CreateFtdcTraderApi(); // 創(chuàng)建交易實(shí)例
CtpTradeSpi *pTradeSpi = new CtpTradeSpi; // 創(chuàng)建交易回調(diào)實(shí)例
g_pTradeUserApi->RegisterSpi(pTradeSpi); // 注冊事件類
g_pTradeUserApi->SubscribePublicTopic(THOST_TERT_RESTART); // 訂閱公共流
g_pTradeUserApi->SubscribePrivateTopic(THOST_TERT_RESTART); // 訂閱私有流
g_pTradeUserApi->RegisterFront(gTradeFrontAddr); // 設(shè)置交易前置地址
g_pTradeUserApi->Init(); // 連接運(yùn)行
行情接口初始化步驟:
// 初始化行情線程
cout << "初始化行情..." << endl;
g_pMdUserApi = CThostFtdcMdApi::CreateFtdcMdApi(); // 創(chuàng)建行情實(shí)例
CThostFtdcMdSpi *pMdUserSpi = new CtpMdSpi; // 創(chuàng)建行情回調(diào)實(shí)例
g_pMdUserApi->RegisterSpi(pMdUserSpi); // 注冊事件類
g_pMdUserApi->RegisterFront(gMdFrontAddr); // 設(shè)置行情前置地址
g_pMdUserApi->Init(); // 連接運(yùn)行
初始化過程:
報(bào)單時序圖:
總結(jié)
以上是生活随笔為你收集整理的CTP API开发之一:CTP API简介的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: opendir 从不兼容的指针类型赋值
- 下一篇: Linux生成随机字符串