CTP API開發之一:CTP API簡介


官網下載CTP API

綜合交易平台CTP(Comprehensive Transaction Platform)是由上海期貨信息技術有限公司(上海期貨交易所的全資子公司)開發的期貨交易平台,CTP平台以"新一代交易所系統"的核心技術為基礎,穩定、高速、開放式接口,適合程序化交易軟件運用和短線炒單客戶使用。官網:http://www.sfit.com.cn

API接口文件清單:

整個開發包有2個核心頭文件包括4個核心接口
CThostFtdcMdApi接口和CThostFtdcTraderApi兩個頭文件,一個處理行情,一個處理交易

(1)處理行情的CThostFtdcMdApi接口有兩個類,分別是CThostFtdcMdApi和CThostFtdcMdSpi,以Api結尾的是用來下命令的,以Spi結尾的是用來響應命令的回調。
(2)處理交易的CThostFtdcTraderApi接口也有兩個類,分別是CThostFtdcTraderApi和CThostFtdcTraderSpi,  通過CThostFtdcTraderApi向CTP發送操作請求,通過CThostFtdcTraderSpi接收CTP的操作響應。

API命名規則:

 

CTP是基於多線程的,至少有兩個線程在工作,一個是程序主線程,另一個是API工作線程。

API底層封裝了TCP通訊,通過函數回調來使用API接口。

CTP的API封裝分為兩大部分,一個是TraderApi(thosttraderapi.dll)負責交易部分,另一個是MdUserApi(thostmduserapi.dll)負責行情部分,

交易接口初始化步驟:

// 初始化交易線程
    cout << "初始化交易..." << endl;
    g_pTradeUserApi = CThostFtdcTraderApi::CreateFtdcTraderApi(); // 創建交易實例
    CtpTradeSpi *pTradeSpi = new CtpTradeSpi;               // 創建交易回調實例
    g_pTradeUserApi->RegisterSpi(pTradeSpi);                      // 注冊事件類
    g_pTradeUserApi->SubscribePublicTopic(THOST_TERT_RESTART);    // 訂閱公共流
    g_pTradeUserApi->SubscribePrivateTopic(THOST_TERT_RESTART);   // 訂閱私有流
    g_pTradeUserApi->RegisterFront(gTradeFrontAddr);              // 設置交易前置地址
    g_pTradeUserApi->Init();                                      // 連接運行

行情接口初始化步驟:

// 初始化行情線程
    cout << "初始化行情..." << endl;
    g_pMdUserApi = CThostFtdcMdApi::CreateFtdcMdApi();   // 創建行情實例
    CThostFtdcMdSpi *pMdUserSpi = new CtpMdSpi;       // 創建行情回調實例
    g_pMdUserApi->RegisterSpi(pMdUserSpi);               // 注冊事件類
    g_pMdUserApi->RegisterFront(gMdFrontAddr);           // 設置行情前置地址
    g_pMdUserApi->Init();                                // 連接運行

初始化過程:

 

報單時序圖:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM