以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  [讨论]对PCALCINFO 结构使用的疑问.  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=86397)

--  作者:stevenchen52
--  发布时间:2015/10/20 12:00:55
--  [讨论]对PCALCINFO 结构使用的疑问.
addindemo里的 :g_pMainFormework->GetDataInfo(&stData))  的使用有个疑问,   希望有人指点一下.

疑问1: PCALCINFO stData = {0};里面的m_pMainData 看定义是一个指针(HISTORY_STRUCTEx * )
例子程序里这个指针使用前不用初始化? 


疑问2:下面的代码.执行下来取到1000个数据. 但数据很乱.  其中m_timeDate 都是0.  而且m_fClose也非常混乱. 是什么原因呢?
 
谁能提供一个 比addindemo更加详细的例子程序可以参考. 谢谢.

 
 
下面是源码:
//////////////////////////////////////////////////////////////////////////
void CMainWindowDlg::OnButton1Gedata()
{
 //读取上海市场的600000日线数据范例
 PCALCINFO stData = {0};
 stData.m_dataType = DAY_DATA;//日线
 stData.m_bIsPow = 1; //是否复权
 stData.m_wMarket = \'HS\';
 strcpy(stData.m_szLabel,"600000"); //读取600000 浦发银行数据
 int icount;
 if(g_pMainFormework->GetDataInfo(&stData))
 {
  CString strText;
  for(int i = 0; i < stData.m_nNumData; i++)
  {
   strText.Format("%d 收%f", stData.m_pMainData[i].m_timeDate,stData.m_pMainData[i].m_fClose);
   WriteLog(strText);
   //....
  }
  strText.Format("共取到%d个数据",stData.m_nNumData); 
  AfxMessageBox(strText);
 }
}

--  作者:王锋
--  发布时间:2015/10/20 12:16:24
--  

1,你可以检索一下m_pMainData 的定义,范例代码中已经做了初始化了。

2,你应该是用的高版本编译器,time_t字段类型是64位的,金字塔要求是32位,你改成DWORD就好了


--  作者:stevenchen52
--  发布时间:2015/10/20 12:54:07
--  
这个定义stData是个局部变量啊,你的意思是里面的数据在这个函数外做了初始化?   
 整个项目搜索了一下,貌似也没有找到....

void CMainWindowDlg::OnButton1Gedata() 
{
//读取上海市场的600000日线数据范例
PCALCINFO stData = {0};
stData.m_dataType = DAY_DATA;//日线
stData.m_bIsPow = 1; //是否复权
stData.m_wMarket = \'HS\';
strcpy(stData.m_szLabel,"600834"); //读取600000 浦发银行数据
int icount;
if(g_pMainFormework->GetDataInfo(&stData))
{
CString strText;
for(int i = 0; i < stData.m_nNumData; i++)
{
strText.Format("%d 收%f", stData.m_pMainData[i].m_timeDate,stData.m_pMainData[i].m_fClose);
WriteLog(strText);
//....
}
strText.Format("共取到%d个数据",stData.m_nNumData);
AfxMessageBox(strText);
}
}

--  作者:王锋
--  发布时间:2015/10/20 13:54:31
--  
抱歉之前没理解你的意思,m_pMainData 这个指针的地址是调用返回后,金字塔内部分配好的,你无需初始化的。
--  作者:stevenchen52
--  发布时间:2015/10/20 14:22:06
--  
谢谢,看到希望了.