1 Star 7 Fork 3

1ndu5try/QTctp

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
mdspi.cpp 2.96 KB
一键复制 编辑 原始数据 按行查看 历史
1ndustry 提交于 2022-09-05 10:16 . fitst
#include "mdspi.h"
#include <iostream>
using namespace std;
MdSpi::MdSpi(QObject *parent) : QObject(parent)
{
this->setParent(parent);
}
MdSpi::~MdSpi()
{
}
void MdSpi::OnFrontConnected()
{
cout << "行情建立网络连接成功" << endl;
CThostFtdcReqUserLoginField loginReq;
memset(&loginReq, 0, sizeof(loginReq));
strcpy(loginReq.BrokerID, "9999");
strcpy(loginReq.UserID, "000001");
static int requestID = 0;
int result = g_pMdUserApi->ReqUserLogin(&loginReq, ++requestID);
if (!result)
cout << "行情发送登录请求成功" << endl;
else
cerr << "行情发送登录请求失败" << endl;
}
void MdSpi::OnRspUserLogin(CThostFtdcRspUserLoginField* pRspUserLogin, CThostFtdcRspInfoField* pRspInfo, int nRequestID, bool bIsLast)
{
bool bResult = pRspInfo && (pRspInfo->ErrorID != 0);
if (!bResult) {
cout << "行情账户登录成功" << endl;
cout << "交易日: " << pRspUserLogin->TradingDay << endl;
g_pMdUserApi->SubscribeMarketData(ppInstrumentID, iInstrumentId);
}
else
cerr << "返回错误--->>> ErrorID=" << pRspInfo->ErrorID << ", ErrorMsg=" << pRspInfo->ErrorMsg << endl;
}
void MdSpi::OnRspSubMarketData(CThostFtdcSpecificInstrumentField* pSpecificInstrument, CThostFtdcRspInfoField* pRspInfo, int nRequestID, bool bIsLast)
{
bool bResult = pRspInfo && (pRspInfo->ErrorID != 0);
if (!bResult) {
cout << "订阅行情成功" << endl;
cout << "合约代码: " << pSpecificInstrument->InstrumentID << endl;
cout << "ErrorMsg " << pRspInfo->ErrorMsg << endl;
cout << "nRequestID " <<nRequestID << endl;
cout << "bIsLast " << bIsLast << endl;
}
else
cerr << "返回错误--->>> ErrorID=" << pRspInfo->ErrorID << ", ErrorMsg=" << pRspInfo->ErrorMsg << endl;
}
void MdSpi::OnRtnDepthMarketData(CThostFtdcDepthMarketDataField* pDepthMarketData)
{
QString dm = pDepthMarketData->InstrumentID;
QString updatetime = pDepthMarketData->UpdateTime;
QString lastprice = QString::number(pDepthMarketData->LastPrice);
QString buyprice = QString::number(pDepthMarketData->BidPrice1);
QString buyvol = QString::number(pDepthMarketData->BidVolume1);
QString sellprice = QString::number(pDepthMarketData->AskPrice1);
QString sellvol = QString::number(pDepthMarketData->AskVolume1);
QString zf = QString::number(((pDepthMarketData->LastPrice-pDepthMarketData->PreClosePrice)*100/pDepthMarketData->PreClosePrice),'f',2);
QString vol = QString::number(pDepthMarketData->Volume);
QString zt = QString::number(pDepthMarketData->UpperLimitPrice);
QString dt = QString::number(pDepthMarketData->LowerLimitPrice);
QString HqTick = dm +","+ updatetime +","+lastprice +","+buyprice +","+buyvol +","+sellprice +","+sellvol +","+zf +","+vol +","+zt +","+dt;
emit sendData(HqTick);
}
void MdSpi::OnRspError(CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)
{
cout<<pRspInfo->ErrorMsg<<endl;
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/tang-zhihao2/qtctp.git
git@gitee.com:tang-zhihao2/qtctp.git
tang-zhihao2
qtctp
QTctp
master

搜索帮助

23e8dbc6 1850385 7e0993f3 1850385