资源简介
利用期货ctp接口开发的数据接收例子。这样的例子网上有很多,但是大部分都用不了。很多都有错误编译不通过。这个是我可以完整编译过的全部代码,能直接从期货公司获取到数据。需要自己申请期货账号。编译工具为vs2010或vs2012下可以顺利通过
代码片段和文件信息
#include “MdSpi.h“
#include
using namespace std;
#pragma warning(disable : 4996)
// USER_API参数
extern CThostFtdcMdApi* pUserApi;
// 配置参数
extern char FRONT_ADDR[];
extern TThostFtdcBrokerIDType BROKER_ID;
extern TThostFtdcInvestorIDType INVESTOR_ID;
extern TThostFtdcPasswordType PASSWORD;
extern char* ppInstrumentID[];
extern int iInstrumentID;
// 请求编号
extern int iRequestID;
void CMdSpi::OnRspError(CThostFtdcRspInfoField *pRspInfo
int nRequestID bool bIsLast)
{
cerr << “--->>> “<< __FUNCTION__ << endl;
IsErrorRspInfo(pRspInfo);
}
void CMdSpi::OnFrontDisconnected(int nReason)
{
cerr << “--->>> “ << __FUNCTION__ << endl;
cerr << “--->>> Reason = “ << nReason << endl;
}
void CMdSpi::OnHeartBeatWarning(int nTimeLapse)
{
cerr << “--->>> “ << __FUNCTION__ << endl;
cerr << “--->>> nTimerLapse = “ << nTimeLapse << endl;
}
void CMdSpi::OnFrontConnected()
{
cerr << “--->>> “ << __FUNCTION__ << endl;
///用户登录请求
ReqUserLogin();
}
void CMdSpi::ReqUserLogin()
{
CThostFtdcReqUserLoginField req;
memset(&req 0 sizeof(req));
strcpy(req.BrokerID BROKER_ID);
strcpy(req.UserID INVESTOR_ID);
strcpy(req.Password PASSWORD);
int iResult = pUserApi->ReqUserLogin(&req ++iRequestID);
cerr << “--->>> 发送用户登录请求: “ << ((iResult == 0) ? “成功“ : “失败“) << endl;
}
void CMdSpi::OnRspUserLogin(CThostFtdcRspUserLoginField *pRspUserLogin
CThostFtdcRspInfoField *pRspInfo int nRequestID bool bIsLast)
{
cerr << “--->>> “ << __FUNCTION__ << endl;
if (bIsLast && !IsErrorRspInfo(pRspInfo))
{
///获取当前交易日
cerr << “--->>> 获取当前交易日 = “ << pUserApi->GetTradingDay() << endl;
// 请求订阅行情
SubscribeMarketData();
}
}
void CMdSpi::SubscribeMarketData()
{
int iResult = pUserApi->SubscribeMarketData(ppInstrumentID iInstrumentID);
cerr << “--->>> 发送行情订阅请求: “ << ((iResult == 0) ? “成功“ : “失败“) << endl;
}
void CMdSpi::OnRspSubMarketData(CThostFtdcSpecificInstrumentField *pSpecificInstrument CThostFtdcRspInfoField *pRspInfo int nRequestID bool bIsLast)
{
cerr << __FUNCTION__ << endl;
}
void CMdSpi::OnRspUnSubMarketData(CThostFtdcSpecificInstrumentField *pSpecificInstrument CThostFtdcRspInfoField *pRspInfo int nRequestID bool bIsLast)
{
cerr << __FUNCTION__ << endl;
}
void CMdSpi::OnRtnDepthMarketData(CThostFtdcDepthMarketDataField *pDepthMarketData)
{
cerr << __FUNCTION__ << endl;
}
bool CMdSpi::IsErrorRspInfo(CThostFtdcRspInfoField *pRspInfo)
{
// 如果ErrorID != 0 说明收到了错误的响应
bool bResult = ((pRspInfo) && (pRspInfo->ErrorID != 0));
if (bResult)
cerr << “--->>> ErrorID=“ << pRspInfo->ErrorID << “ ErrorMsg=“ << pRspInfo->ErrorMsg << endl;
return bResult;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2015-07-17 10:53 CTPMDSAMPLE\
目录 0 2015-07-17 10:50 CTPMDSAMPLE\Bin\
文件 6 2015-07-17 10:16 CTPMDSAMPLE\Bin\DialogRsp.con
文件 6 2015-07-17 10:16 CTPMDSAMPLE\Bin\QueryRsp.con
文件 44032 2015-07-17 10:52 CTPMDSAMPLE\Bin\testMdUserApi.exe
文件 414580 2015-07-17 10:52 CTPMDSAMPLE\Bin\testMdUserApi.ilk
文件 1829888 2015-07-17 10:52 CTPMDSAMPLE\Bin\testMdUserApi.pdb
文件 397312 2009-05-21 11:27 CTPMDSAMPLE\Bin\thostmduserapi.dll
文件 1775616 2014-12-17 13:19 CTPMDSAMPLE\Bin\thosttraderapi.dll
文件 6 2012-10-25 14:05 CTPMDSAMPLE\Bin\TradingDay.con
目录 0 2015-07-17 10:52 CTPMDSAMPLE\Debug\
文件 2040 2015-07-17 10:52 CTPMDSAMPLE\Debug\cl.command.1.tlog
文件 32270 2015-07-17 10:52 CTPMDSAMPLE\Debug\CL.read.1.tlog
文件 1378 2015-07-17 10:52 CTPMDSAMPLE\Debug\CL.write.1.tlog
文件 2 2015-07-17 10:52 CTPMDSAMPLE\Debug\li
文件 2 2015-07-17 10:52 CTPMDSAMPLE\Debug\li
文件 2 2015-07-17 10:52 CTPMDSAMPLE\Debug\li
文件 2 2015-07-17 10:52 CTPMDSAMPLE\Debug\li
文件 2 2015-07-17 10:52 CTPMDSAMPLE\Debug\li
文件 2 2015-07-17 10:52 CTPMDSAMPLE\Debug\li
文件 2042 2015-07-17 10:52 CTPMDSAMPLE\Debug\li
文件 3858 2015-07-17 10:52 CTPMDSAMPLE\Debug\li
文件 1146 2015-07-17 10:52 CTPMDSAMPLE\Debug\li
文件 60395 2015-07-17 10:50 CTPMDSAMPLE\Debug\MdSpi.obj
文件 410 2015-07-17 10:52 CTPMDSAMPLE\Debug\mt.command.1.tlog
文件 322 2015-07-17 10:52 CTPMDSAMPLE\Debug\mt.read.1.tlog
文件 322 2015-07-17 10:52 CTPMDSAMPLE\Debug\mt.write.1.tlog
文件 568 2015-07-17 10:50 CTPMDSAMPLE\Debug\rc.command.1.tlog
文件 294 2015-07-17 10:50 CTPMDSAMPLE\Debug\rc.read.1.tlog
文件 302 2015-07-17 10:50 CTPMDSAMPLE\Debug\rc.write.1.tlog
文件 291156 2015-07-17 10:50 CTPMDSAMPLE\Debug\stdafx.obj
............此处省略52个文件信息
- 上一篇:QNX 官方完全源代码 供学习参考 展开200M
- 下一篇:固体激光工程
相关资源
- 易语言取微云数据V1源码易语言取微云
- 数据结构与算法课件ppt
- 数据结构考研试题历届试卷(附答案
- ETC中FM0解码器的设计
- 通用数据传输平台GTP
- TCP_UDP对结构体加密数据传输
- 基于pytorch的UNet_demo实现及训练自己的
- 磁盘备份的优势——先进的重复
- HP磁盘备份方案:让数据备份与业务应
- IP SAN实现数据异地灾难备份
-
如何更改Syba
se数据库 - ALOS-PALSAR雷达数据介绍
- 云南建行数据处理中心案例
- IBM SAN 数据网关解决方案助力Summit B
- 通过NAS与文件服务器结合构建数据容
- NetApp存储方案助无锡希捷确保数据高
- 针对银行的数据备份成功案例
- 多目标跟踪MOT16_Benchmark数据集链接
- 物联网中无线传感器节点和RFID数据融
- 基于数据驱动的故障预测模型
- 海底管道虚拟安全系统:数据库设计
- 水资源监测数据通讯规约SZY206-2016.p
- 整合险种数据 完善备份管理
- 解秘重复数据删除——飞康帮您
- 飞康CDP保障天津肿瘤医院数据备份与
- 四川省移动通信公司BOSS项目集中式数
- 四川移动BOSS集中式数据备份系统建设
- 超级硬盘数据恢复软件 3.1破解版+无需
- 超级硬盘数据恢复软件真正的完美破
- LCSTS高质量中文短文本摘要数据集
评论
共有 条评论