c++接口取出的數(shù)據(jù)發(fā)現(xiàn)有些問(wèn)題。
作者:金字塔 來(lái)源:cxh99.com 發(fā)布時(shí)間:2014年02月08日
- 咨詢內(nèi)容:
請(qǐng)教:c++接口取出的數(shù)據(jù)發(fā)現(xiàn)有些問(wèn)題。addin的接口。
我做了g_pMainFormework->UnRegReportNotify("RU05",'QS');
然后,callback函數(shù)OnNotifyUpdate(WPARAM w,LPARAM l)會(huì)被調(diào)用,
然后調(diào)用到void CMainWindowDlg::ReportUpdate(LPARAM l)
到這里都沒(méi)問(wèn)題,但是在這個(gè)函數(shù)里,
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, 權(quán)重價(jià)差多:%lf, 權(quán)重價(jià)差空:%lf, 價(jià)格%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);
輸出顯示你們的給出的數(shù)據(jù)應(yīng)該有問(wèn)題:
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]應(yīng)該是掛單3的掛單量,你們存儲(chǔ)的卻是價(jià)格。
這是在ru05上運(yùn)行的
問(wèn)題2)我有一個(gè)輸出:
strText.Format("買入: %s,價(jià)格 %f", pData->m_szName, pData->m_fNewPrice);
WriteLog(strText);
打印的卻是,
2013.11.07 14:59:54 買入: 1405,價(jià)格 159154.000000
這里你們的價(jià)格數(shù)值也不對(duì)。
估計(jì)你們這部分接口用的人不多,沒(méi)有經(jīng)過(guò)驗(yàn)證過(guò)。
問(wèn)題3,我打印出了你們的當(dāng)前5檔的掛單數(shù)據(jù),這些數(shù)據(jù)也是不對(duì)的,因?yàn)椴豢赡苡心敲炊?.
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);
- 金字塔客服:
上海期貨交易所只有1檔行情的,其他檔位是沒(méi)有行情數(shù)據(jù)的
- 用戶回復(fù):
你們的pData->m_fNewPrice也應(yīng)該有問(wèn)題吧。
你們其他期貨交易所是否有5檔行情呢?
你們是否會(huì)在以后新版本中解決這些問(wèn)題,有沒(méi)有個(gè)時(shí)間計(jì)劃什么的?
多謝。
- 網(wǎng)友回復(fù):
讀取數(shù)據(jù)字段有錯(cuò)位,有可能你是用的比VC6高的版本編譯的,金字塔的time_t格式是4位字節(jié)的,VS2005等版本是8位的,需要處理一下才行,參考 http://www.weistock.com/bbs/dispbbs.asp?boardid=5&Id=53323
目前只有大連和中金所支持5檔行情,如果你是專業(yè)版及其以上用戶,在最新版上連接期貨L2服務(wù)器即可。
- 網(wǎng)友回復(fù):
如果我不是專業(yè)版用戶,即使設(shè)置了time_t格式是4位字節(jié)的,大連和中金所的5檔行情,我也無(wú)法讀出?