您现在的位置:程序化交易>> 期货公式>> 金字塔等>> 金字塔知识>>正文内容

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);



     

  • 金字塔客服: 上海期货交易所只有1档行情的,其他档位是没有行情数据的

     

  • 用户回复:  你们的pData->m_fNewPrice也应该有问题吧。
    你们其他期货交易所是否有5档行情呢?
    你们是否会在以后新版本中解决这些问题,有没有个时间计划什么的?
    多谢。

     

  • 网友回复:

    读取数据字段有错位,有可能你是用的比VC6高的版本编译的,金字塔的time_t格式是4位字节的,VS2005等版本是8位的,需要处理一下才行,参考 http://www.weistock.com/bbs/dispbbs.asp?boardid=5&Id=53323

     

    目前只有大连和中金所支持5档行情,如果你是专业版及其以上用户,在最新版上连接期货L2服务器即可。

     

  • 网友回复:  如果我不是专业版用户,即使设置了time_t格式是4位字节的,大连和中金所的5档行情,我也无法读出?

 

有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友

可联系技术人员 QQ: 1145508240  有需要帮忙请点击这里留言!!!进行 有偿 编写!不贵!点击查看价格!


【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容