期貨數據服務器使用期貨、期權tick數據接收軟件在共享內存中提供的tick數據,實時生成k線,並且給客戶端提供無縫數據服務。
功能如下:
1、合約屬性。
2、合約指數表。
3、合約主力表。
4、可交易合約。
5、交易日。
6、大宗商品指數。
7、指數原始價格。
8、常規K線。
9、tick數據同步。
10、K線校驗。
服務器基於boost::asio,支持自動重連、自動分包粘包。
貼下數據接口代碼:
#pragma once #if defined(ISLIB) #define LIB_NETWORK_EXPORT __declspec(dllexport) #else #define LIB_NETWORK_EXPORT #endif // (ISLIB) #include "protocol_define.h" #include "user_define_struct.h" class CFutureDataClientSpi { public: ///當客戶端與服務端連接時(還未登錄),該方法被調用 virtual void OnRspConnect() {}; ///斷開服務端連接 virtual void OnRspDisConnect() {}; ///交易日 virtual void OnRspTradingDay(int* pDate, bool bLast) {}; ///合約屬性 virtual void OnRspInstrumentProperty(const SinstrumentProperty* p, bool bLast) {}; ///大宗商品 virtual void OnRspCommodity(const Scommodity* p, bool bLast) {}; ///原始價格 virtual void OnRspOriginalPrice(const Soriginal* p, bool bLast) {}; ///可交易合約 virtual void OnRspTradingCode(CThostFtdcInstrumentField* p, bool bLast) {}; ///指數 virtual void OnRspIndexTable(const CThostFtdcDepthMarketDataField* p, bool bLast) {}; ///主力 virtual void OnRspMainTable(SmainSubMain* p, bool bLast) {}; ///K線回報 virtual void OnRspKline(const char* pCode, int nCycle, Skline* kline, bool bLast) {}; ///Tick回報 virtual void OnRspSyscTick(int nDate, const char* pName, const char* pFile, bool bLast) {}; ///歷史K線回報 virtual void OnRspSyscKline(const char* pCode, int nCycle, Skline* kline, bool bLast) {}; ///歷史交易日 virtual void OnRspHistoryTradingDay(int nDate, bool bLast) {}; ///歷史主力次主力 virtual void OnRspHistoryMainSubMain(SmainSubMain* p, bool bLast) {}; ///初始化成功 virtual void OnInitOK() {}; ///錯誤請求 virtual void OnErrorMsg(const char* pMsg, bool bLast) {}; private: }; class LIB_NETWORK_EXPORT CFutureDataClientApi { public: static CFutureDataClientApi* CreateNetWorkApi(); ///注冊回調接口 ///@param p 派生自回調接口類的實例 virtual void RegistSpi(CFutureDataClientSpi* p) = 0; ///連接數據服務器 ///@param nPort 端口 ///@param pAddress IP地址 virtual void ConnectService(unsigned int nPort, const char* pAddress) = 0; ///登錄賬戶 ///@param user 用戶名 ///@param password 密碼 virtual void Login(const char* user, const char* password) = 0; ///銷毀 virtual void Release() = 0; ///請求合約屬性 virtual void ReqInstrumentProperty() = 0; ///請求大宗商品 virtual void ReqCommodity() = 0; ///請求原始價格 virtual void ReqOriginalPrice() = 0; ///求交易日 virtual void ReqTradingDay() = 0; ///可交易合約 virtual void ReqTradingCode() = 0; ///主力合約 virtual void ReqMainTable() = 0; ///指數合約 virtual void ReqIndexTable() = 0; ///請求結束 virtual void ReqOver() = 0; ///請求K線 virtual void ReqCommonKline(SreqKline* pReq) = 0; ///請求同步tick virtual void ReqSyscTick(SreqTick* pReq) = 0; ///請求同步k線 virtual void ReqSyscKline(SreqKline* pReq) = 0; ///請求同步歷史交易日 virtual void ReqHistoryTradingday() = 0; ///請求同步歷史主力 virtual void ReqHistoryMain(SreqHistoryMain* pReq) = 0; };
請求響應異步調用,x64庫同樣不區分debug/release,支持任何vs版本。
https://files.cnblogs.com/files/rmdmn/FutureDataClientApi.rar