欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → [讨论]对PCALCINFO 结构使用的疑问.

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有3017人关注过本帖树形打印复制链接

主题:[讨论]对PCALCINFO 结构使用的疑问.

帅哥哟,离线,有人找我吗?
stevenchen52
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:8 积分:0 威望:0 精华:0 注册:2015/1/13 21:57:48
[讨论]对PCALCINFO 结构使用的疑问.  发帖心情 Post By:2015/10/20 12:00:55 [只看该作者]

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

 回到顶部
帅哥哟,离线,有人找我吗?
王锋
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2015/10/20 12:16:24 [只看该作者]

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

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



金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
stevenchen52
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:8 积分:0 威望:0 精华:0 注册:2015/1/13 21:57:48
  发帖心情 Post By: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);
}
}

 回到顶部
帅哥哟,离线,有人找我吗?
王锋
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2015/10/20 13:54:31 [只看该作者]

抱歉之前没理解你的意思,m_pMainData 这个指针的地址是调用返回后,金字塔内部分配好的,你无需初始化的。


金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
stevenchen52
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:8 积分:0 威望:0 精华:0 注册:2015/1/13 21:57:48
  发帖心情 Post By:2015/10/20 14:22:06 [只看该作者]

谢谢,看到希望了.

 回到顶部