Skip to content

Commit db27a0d

Browse files
author
wintel2014
committed
Feed for CTP
1 parent b72935b commit db27a0d

17 files changed

+14986
-0
lines changed

quant/CTP文档/CTP_API_file.tar.bz2

4.63 MB
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

quant/simnow/.gitconfig

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
[color]
2+
ui = true
3+
[user]
4+
name = wintel2014

quant/simnow/Makefile

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
CFLAGS=-I./include -I/home/jz/tmp/jsoncpp/include/ -g3
2+
LDFLAGS=/home/jz/tmp/jsoncpp/build/debug/src/lib_json/libjsoncpp.a -L./lib -lthostmduserapi -lthosttraderapi -lboost_system -lboost_chrono
3+
feed: main.cpp
4+
g++ main.cpp $(CFLAGS) $(LDFLAGS) -std=c++11 -o feed
5+
6+
clean:
7+
rm *.con feed

quant/simnow/env_set

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
. ~/.env_dynamic_linker
2+
export LD_LIBRARY_PATH=./lib/:$LD_LIBRARY_PATH
Binary file not shown.

quant/simnow/include/ThostFtdcMdApi.h

Lines changed: 158 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,158 @@
1+
/////////////////////////////////////////////////////////////////////////
2+
///@system 新一代交易所系统
3+
///@company 上海期货信息技术有限公司
4+
///@file ThostFtdcMdApi.h
5+
///@brief 定义了客户端接口
6+
///@history
7+
///20060106 赵鸿昊 创建该文件
8+
/////////////////////////////////////////////////////////////////////////
9+
10+
#if !defined(THOST_FTDCMDAPI_H)
11+
#define THOST_FTDCMDAPI_H
12+
13+
#if _MSC_VER > 1000
14+
#pragma once
15+
#endif // _MSC_VER > 1000
16+
17+
#include "ThostFtdcUserApiStruct.h"
18+
19+
#if defined(ISLIB) && defined(WIN32)
20+
#ifdef LIB_MD_API_EXPORT
21+
#define MD_API_EXPORT __declspec(dllexport)
22+
#else
23+
#define MD_API_EXPORT __declspec(dllimport)
24+
#endif
25+
#else
26+
#define MD_API_EXPORT
27+
#endif
28+
29+
class CThostFtdcMdSpi
30+
{
31+
public:
32+
///当客户端与交易后台建立起通信连接时(还未登录前),该方法被调用。
33+
virtual void OnFrontConnected(){};
34+
35+
///当客户端与交易后台通信连接断开时,该方法被调用。当发生这个情况后,API会自动重新连接,客户端可不做处理。
36+
///@param nReason 错误原因
37+
/// 0x1001 网络读失败
38+
/// 0x1002 网络写失败
39+
/// 0x2001 接收心跳超时
40+
/// 0x2002 发送心跳失败
41+
/// 0x2003 收到错误报文
42+
virtual void OnFrontDisconnected(int nReason){};
43+
44+
///心跳超时警告。当长时间未收到报文时,该方法被调用。
45+
///@param nTimeLapse 距离上次接收报文的时间
46+
virtual void OnHeartBeatWarning(int nTimeLapse){};
47+
48+
49+
///登录请求响应
50+
virtual void OnRspUserLogin(CThostFtdcRspUserLoginField *pRspUserLogin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
51+
52+
///登出请求响应
53+
virtual void OnRspUserLogout(CThostFtdcUserLogoutField *pUserLogout, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
54+
55+
///错误应答
56+
virtual void OnRspError(CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
57+
58+
///订阅行情应答
59+
virtual void OnRspSubMarketData(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
60+
61+
///取消订阅行情应答
62+
virtual void OnRspUnSubMarketData(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
63+
64+
///订阅询价应答
65+
virtual void OnRspSubForQuoteRsp(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
66+
67+
///取消订阅询价应答
68+
virtual void OnRspUnSubForQuoteRsp(CThostFtdcSpecificInstrumentField *pSpecificInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
69+
70+
///深度行情通知
71+
virtual void OnRtnDepthMarketData(CThostFtdcDepthMarketDataField *pDepthMarketData) {};
72+
73+
///询价通知
74+
virtual void OnRtnForQuoteRsp(CThostFtdcForQuoteRspField *pForQuoteRsp) {};
75+
};
76+
77+
class MD_API_EXPORT CThostFtdcMdApi
78+
{
79+
public:
80+
///创建MdApi
81+
///@param pszFlowPath 存贮订阅信息文件的目录,默认为当前目录
82+
///@return 创建出的UserApi
83+
///modify for udp marketdata
84+
static CThostFtdcMdApi *CreateFtdcMdApi(const char *pszFlowPath = "", const bool bIsUsingUdp=false, const bool bIsMulticast=false);
85+
86+
///删除接口对象本身
87+
///@remark 不再使用本接口对象时,调用该函数删除接口对象
88+
virtual void Release() = 0;
89+
90+
///初始化
91+
///@remark 初始化运行环境,只有调用后,接口才开始工作
92+
virtual void Init() = 0;
93+
94+
///等待接口线程结束运行
95+
///@return 线程退出代码
96+
virtual int Join() = 0;
97+
98+
///获取当前交易日
99+
///@retrun 获取到的交易日
100+
///@remark 只有登录成功后,才能得到正确的交易日
101+
virtual const char *GetTradingDay() = 0;
102+
103+
///注册前置机网络地址
104+
///@param pszFrontAddress:前置机网络地址。
105+
///@remark 网络地址的格式为:“protocol://ipaddress:port”,如:”tcp://127.0.0.1:17001”。
106+
///@remark “tcp”代表传输协议,“127.0.0.1”代表服务器地址。”17001”代表服务器端口号。
107+
virtual void RegisterFront(char *pszFrontAddress) = 0;
108+
109+
///注册名字服务器网络地址
110+
///@param pszNsAddress:名字服务器网络地址。
111+
///@remark 网络地址的格式为:“protocol://ipaddress:port”,如:”tcp://127.0.0.1:12001”。
112+
///@remark “tcp”代表传输协议,“127.0.0.1”代表服务器地址。”12001”代表服务器端口号。
113+
///@remark RegisterNameServer优先于RegisterFront
114+
virtual void RegisterNameServer(char *pszNsAddress) = 0;
115+
116+
///注册名字服务器用户信息
117+
///@param pFensUserInfo:用户信息。
118+
virtual void RegisterFensUserInfo(CThostFtdcFensUserInfoField * pFensUserInfo) = 0;
119+
120+
///注册回调接口
121+
///@param pSpi 派生自回调接口类的实例
122+
virtual void RegisterSpi(CThostFtdcMdSpi *pSpi) = 0;
123+
124+
///订阅行情。
125+
///@param ppInstrumentID 合约ID
126+
///@param nCount 要订阅/退订行情的合约个数
127+
///@remark
128+
virtual int SubscribeMarketData(char *ppInstrumentID[], int nCount) = 0;
129+
130+
///退订行情。
131+
///@param ppInstrumentID 合约ID
132+
///@param nCount 要订阅/退订行情的合约个数
133+
///@remark
134+
virtual int UnSubscribeMarketData(char *ppInstrumentID[], int nCount) = 0;
135+
136+
///订阅询价。
137+
///@param ppInstrumentID 合约ID
138+
///@param nCount 要订阅/退订行情的合约个数
139+
///@remark
140+
virtual int SubscribeForQuoteRsp(char *ppInstrumentID[], int nCount) = 0;
141+
142+
///退订询价。
143+
///@param ppInstrumentID 合约ID
144+
///@param nCount 要订阅/退订行情的合约个数
145+
///@remark
146+
virtual int UnSubscribeForQuoteRsp(char *ppInstrumentID[], int nCount) = 0;
147+
148+
///用户登录请求
149+
virtual int ReqUserLogin(CThostFtdcReqUserLoginField *pReqUserLoginField, int nRequestID) = 0;
150+
151+
152+
///登出请求
153+
virtual int ReqUserLogout(CThostFtdcUserLogoutField *pUserLogout, int nRequestID) = 0;
154+
protected:
155+
~CThostFtdcMdApi(){};
156+
};
157+
158+
#endif

0 commit comments

Comments
 (0)