期货数据服务器以及取数据接口

期货数据服务器使用期货、期权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;
};

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值