以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 高级功能研发区 (http://www.weistock.com/bbs/list.asp?boardid=5) ---- c++接口取出的数据发现有些问题。 (http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=58501) |
-- 作者:qq代人发帖 -- 发布时间:2013/11/7 15:35:55 -- c++接口取出的数据发现有些问题。 请教:c++接口取出的数据发现有些问题。addin的接口。 我做了g_pMainFormework->UnRegReportNotify("RU05",\'QS\');
然后,callback函数OnNotifyUpdate(WPARAM w,LPARAM l)会被调用, 然后调用到void CMainWindowDlg::ReportUpdate(LPARAM l) 到这里都没问题,但是在这个函数里, double duodan =0; double kongdan =0; duodan = pData->m_fBuyVolume[0] + pData->m_fBuyVolume[1] + pData->m_fBuyVolume[2] + pData->m_fBuyVolume4 + pData->m_fBuyVolume5; kongdan = pData->m_fSellVolume[0] + pData->m_fSellVolume[1] + pData->m_fSellVolume[2] + pData->m_fSellVolume4 + pData->m_fSellVolume5; strText.Format("%s 多单:%lf,空单:%lf, 权重价差多:%lf, 权重价差空:%lf, 价格%f", pData->m_szName, duodan, kongdan, Quanzhongjiachaduo, Quanzhongjiachakong,pData->m_fNewPrice); WriteLog(strText); strText.Format("%s,m_fBuyPrice:%2f,%2f,%2f,%2f,%2f", pData->m_szName, pData->m_fBuyPrice[0], pData->m_fBuyPrice[1],pData->m_fBuyPrice[2],pData->m_fBuyPrice4,pData->m_fBuyPrice5); WriteLog(strText); strText.Format("%s,m_fBuyVolume:%2f,%2f,%2f,%2f,%2f", pData->m_szName, pData->m_fBuyVolume[0], pData->m_fBuyVolume[1],pData->m_fBuyVolume[2],pData->m_fBuyVolume4,pData->m_fBuyVolume5); WriteLog(strText); 输出显示你们的给出的数据应该有问题: 2013.11.07 14:59:54 1405,m_fBuyPrice:0.000000,0.000000,45.000000,0.000000,0.000000 2013.11.07 14:59:55 1405,m_fBuyVolume:0.000000,0.000000,19615.000000,0.000000,0.000000 王大波(14168071) 15:26:13 pData->m_fBuyVolume[2]应该是挂单3的挂单量,你们存储的却是价格。 这是在ru05上运行的 问题2)我有一个输出: strText.Format("买入: %s,价格 %f", pData->m_szName, pData->m_fNewPrice); WriteLog(strText); 打印的却是, 2013.11.07 14:59:54 买入: 1405,价格 159154.000000 这里你们的价格数值也不对。 估计你们这部分接口用的人不多,没有经过验证过。 问题3,我打印出了你们的当前5档的挂单数据,这些数据也是不对的,因为不可能有那么多0.
2013.11.07 14:59:54 1405,m_fBuyPrice:0.000000,0.000000,45.000000,0.000000,0.000000 2013.11.07 14:59:55 1405,m_fBuyVolume:0.000000,0.000000,19615.000000,0.000000,0.000000 2013.11.07 14:59:55 1405,m_fSellPrice:0.000000,0.000000,69.000000,0.000000,0.000000 2013.11.07 14:59:55 1405,m_fSellVolume:0.000000,0.000000,0.000000,0.000000,8.000000 每行从前向后分别是1-5档的行情, 我用的打印是: strText.Format("%s,m_fBuyPrice:%2f,%2f,%2f,%2f,%2f", pData->m_szName, pData->m_fBuyPrice[0], pData->m_fBuyPrice[1],pData->m_fBuyPrice[2],pData->m_fBuyPrice4,pData->m_fBuyPrice5); WriteLog(strText); strText.Format("%s,m_fBuyVolume:%2f,%2f,%2f,%2f,%2f", pData->m_szName, pData->m_fBuyVolume[0], pData->m_fBuyVolume[1],pData->m_fBuyVolume[2],pData->m_fBuyVolume4,pData->m_fBuyVolume5); WriteLog(strText); strText.Format("%s,m_fSellPrice:%2f,%2f,%2f,%2f,%2f", pData->m_szName, pData->m_fSellPrice[0], pData->m_fSellPrice[1],pData->m_fSellPrice[2],pData->m_fSellPrice4,pData->m_fSellPrice5); WriteLog(strText); strText.Format("%s,m_fSellVolume:%2f,%2f,%2f,%2f,%2f", pData->m_szName, pData->m_fSellVolume[0], pData->m_fSellVolume[1],pData->m_fSellVolume[2],pData->m_fSellVolume4,pData->m_fSellVolume5); WriteLog(strText); |
-- 作者:王锋 -- 发布时间:2013/11/7 18:48:58 -- 上海期货交易所只有1档行情的,其他档位是没有行情数据的 |
-- 作者:王锋 -- 发布时间:2013/11/8 18:06:38 -- 读取数据字段有错位,有可能你是用的比VC6高的版本编译的,金字塔的time_t格式是4位字节的,VS2005等版本是8位的,需要处理一下才行,参考 http://www.weistock.com/bbs/dispbbs.asp?boardid=5&Id=53323
目前只有大连和中金所支持5档行情,如果你是专业版及其以上用户,在最新版上连接期货L2服务器即可。 |
-- 作者:王锋 -- 发布时间:2013/11/11 11:06:56 -- 是的 |