当前仓库属于关闭状态,部分功能使用受限,详情请查阅 仓库状态说明
1 Star 0 Fork 7

zhaoyao/CTPDirector
关闭

forked from 依尚/CTPDirector
关闭
 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
marketselfwidget.cpp 3.81 KB
一键复制 编辑 原始数据 按行查看 历史
MeGustas 提交于 2016-08-24 03:41 . 原始版本提交 Part-3
/************************************
*************************************
自选行情显示页面
*************************************
*************************************/
#include "marketselfwidget.h"
MarketSelfWidget::MarketSelfWidget(QWidget *parent) :
QWidget(parent)
{
setupModel();
setupViews();
}
void MarketSelfWidget::setupModel()
{
m_MarketselfDelegate = new MarketSelfDelegate;
m_tableView = new TableView(m_MarketselfDelegate);
QStringList header;
header << QStringLiteral("合约代码") << QStringLiteral("最新价") << QStringLiteral("买价") << QStringLiteral("买量") << QStringLiteral("卖价") << QStringLiteral("卖量");
header << QStringLiteral("涨跌") << QStringLiteral("涨跌幅") << QStringLiteral("成交量") << QStringLiteral("持仓量") << QStringLiteral("最高") << QStringLiteral("最低");
header << QStringLiteral("开盘价") << QStringLiteral("昨结算") << QStringLiteral("涨停板") << QStringLiteral("跌停板") << QStringLiteral("均价")<<QStringLiteral("涨跌");
m_tableView->initHeader(header);
m_tableView->setBackgroundRole(QPalette::Shadow);
}
void MarketSelfWidget::setupViews()
{
MainLayout = new QGridLayout(this);
MainLayout->addWidget(m_tableView,0,0);
MainLayout->setMargin(20);
connect(this,SIGNAL(UpdateRow(int,QStringList)),m_tableView,SLOT(UpdateRow(int,QStringList)));
}
void MarketSelfWidget::ShowDepthMarketData(CThostFtdcDepthMarketDataField *pDepthMarketData){
QStringList row_list;
//单合约行情显示
row_list << QString(pDepthMarketData->InstrumentID);///合约代码
row_list << QString::number(pDepthMarketData->LastPrice);///最新价
row_list << QString::number(pDepthMarketData->BidPrice1);///申买价一
row_list << QString::number(pDepthMarketData->BidVolume1);///申买量一
row_list << QString::number(pDepthMarketData->AskPrice1);///申卖价一
row_list << QString::number(pDepthMarketData->AskVolume1);///申卖量一
row_list << QString::number(double(pDepthMarketData->LastPrice -pDepthMarketData->PreSettlementPrice));///涨跌 当前价减去昨结
double tmp = (pDepthMarketData->LastPrice -pDepthMarketData->PreSettlementPrice)/pDepthMarketData->PreSettlementPrice*100;
row_list <<QString::number(tmp,'g',3) + QString("%");///涨跌幅
row_list << QString::number(pDepthMarketData->Volume);///数量
row_list << QString::number(pDepthMarketData->OpenInterest);///持仓量
row_list << QString::number(pDepthMarketData->HighestPrice);///最高价
row_list << QString::number(pDepthMarketData->LowestPrice);///最低价
row_list << QString::number(pDepthMarketData->OpenPrice);///今开盘
row_list << QString::number(pDepthMarketData->PreSettlementPrice);///上次结算价
row_list << QString::number(pDepthMarketData->UpperLimitPrice);///涨停板价
row_list << QString::number(pDepthMarketData->LowerLimitPrice);///跌停板价
row_list << QString::number(pDepthMarketData->AveragePrice,'f');///当日均价
int iRowCnt = m_tableView->rowCount();
for (int i = 0; i < iRowCnt; i++)
{
QModelIndex InstrumentIDIndex = m_tableView->model->index(i,0);
QString InstrumentID = m_tableView->model->data(InstrumentIDIndex,Qt::DisplayRole).toString();
QString str = QString(QLatin1String(pDepthMarketData->InstrumentID));
if (InstrumentID == str)
{
QModelIndex lastPriceIndex = m_tableView->model->index(i,1);
double oldLastPrice = m_tableView->model->data(lastPriceIndex,Qt::DisplayRole).toDouble();
if (pDepthMarketData->LastPrice >= oldLastPrice){
row_list<<"1";//涨
}else{
row_list<<"0";//跌
}
emit UpdateRow(i,row_list);
return;
}
}
if (row_list.size() < 18)
{
row_list<<"1";
}
m_tableView->addRow(row_list);
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/zhaoyao219/CTPDirector.git
[email protected]:zhaoyao219/CTPDirector.git
zhaoyao219
CTPDirector
CTPDirector
master

搜索帮助