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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → GetHistoryData 不对,让我一个脑袋两个大....

   

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


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

主题:GetHistoryData 不对,让我一个脑袋两个大....

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


加好友 发短信
等级:论坛游侠 帖子:260 积分:313 威望:0 精华:0 注册:2012/10/15 23:46:48
  发帖心情 Post By:2015/8/18 23:55:40 [只看该作者]

明明在图上是这样的开收高低值,取出来就不一样,call msg显示也是不对的。



图片点击可在新窗口打开查看此主题相关图片如下:2.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:论坛游侠 帖子:260 积分:313 威望:0 精华:0 注册:2012/10/15 23:46:48
  发帖心情 Post By:2015/8/18 23:57:53 [只看该作者]

Y版,实在不知道是咋回事, 能不能让开发行行好,把这部分代码改回去。 同样的东西在没更新那个Historymode前半点问题都没有。 花了好多时间检查上。 

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


加好友 发短信
等级:论坛游侠 帖子:260 积分:313 威望:0 精华:0 注册:2012/10/15 23:46:48
  发帖心情 Post By:2015/8/19 0:04:25 [只看该作者]

我搞不清这个2229.53是哪里冒出来的.  后面很多数也都不对,  最后几条倒是对的,至于哪些对,哪些不对, 统计需要工具,没弄, 愁 

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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2015/8/19 8:57:05 [只看该作者]

你就单独输出1m的数据去比对呢,GetHistoryData下面不是有范例说明吗

对于同品种的调用是共享缓冲区的,后面的会覆盖掉前面对象。自己通过Set d1 = CreateObject("Stock.Array")这样的建立外部数组对象保存不同周期相同品种的数据值。    


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


加好友 发短信
等级:论坛游侠 帖子:260 积分:313 威望:0 精华:0 注册:2012/10/15 23:46:48
  发帖心情 Post By:2015/8/19 14:06:18 [只看该作者]

以下是引用yukizzc在2015/8/19 8:57:05的发言:

你就单独输出1m的数据去比对呢,GetHistoryData下面不是有范例说明吗

对于同品种的调用是共享缓冲区的,后面的会覆盖掉前面对象。自己通过Set d1 = CreateObject("Stock.Array")这样的建立外部数组对象保存不同周期相同品种的数据值。    

Y 版,更新前,Grid.GetHistoryData与marketdata.GetHistoryData是不共享的。 以上程序在更新前没有任何问题。 更新产生了若干问题,相信Y版和我在前面那个问题研究了几天是清楚的。 作为若干年的金字塔用户,我真心希望金字塔能做好发布前的测试工作,而不是把一个漏洞百出的版本推出来,让用户自己测试。 因为这个更新,至少浪费了我4个人天,搞来搞去。


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


加好友 发短信
等级:论坛游侠 帖子:260 积分:313 威望:0 精华:0 注册:2012/10/15 23:46:48
  发帖心情 Post By:2015/8/19 14:09:32 [只看该作者]

说漏出百出可能不好听,那至少也该是向下兼容吧

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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2015/8/19 15:05:41 [只看该作者]

set Data0 = marketdata.GetHistoryData("if00","zj",6)
set Data1= marketdata.GetHistoryData("if00","zj",0)

这种是共享的

set Data0 = Grid.GetHistoryData
set Data1= marketdata.GetHistoryData("if00","zj",0)

这种是分开独立的

 

您能举个简单的例子吗?就简单的读取数据输出,不要中间那么多处理的。


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


加好友 发短信
等级:新手上路 帖子:17 积分:0 威望:0 精华:0 注册:2012/10/12 10:58:49
  发帖心情 Post By:2015/8/20 0:07:07 [只看该作者]

简化成取一次的Historydata的sub() 

sub tt()

Set HistoryData_1m = marketdata.GetHistoryData("IF00","ZJ",0,0)

call application.msgout("HistoryData_1m_"& HistoryData_1m.count)

 

H_Enddata_1m = HistoryData_1m.count - 270

H_Begindata_1m = H_Enddata_1m - 270*330 

   

call application.msgout("H_Begindata_1m:"&H_Begindata_1m&"_open:"&HistoryData_1m.open(H_Begindata_1m)&"_close:"&HistoryData_1m.close(H_Begindata_1m)&"_high:"&HistoryData_1m.high(H_Begindata_1m)& "_low:"&HistoryData_1m.low(H_Begindata_1m)) 

end sub

 

执行结果

HistoryData_1m_147959

H_Begindata_1m:58589_open:2229.531_close:2229.531_high:2230.568_low:2229.117

 

事实上在总计1479591m IF00 K线内,第58590是 2014/3/24 15:13的线 open : 2150.4, high: 2151.4, low: 2150, close: 2150.4 (数据查看器的值也是这样)


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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2015/8/20 10:45:30 [只看该作者]

marketdata.MustPower = 0

加一句这个不启用除权,vba里调用数据时候默认是除权后的。


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


加好友 发短信
等级:论坛游侠 帖子:260 积分:313 威望:0 精华:0 注册:2012/10/15 23:46:48
  发帖心情 Post By:2015/8/29 22:15:43 [只看该作者]

测试了,的确是除权原因. 之前的程序是V2.962版本的,除权是之后版本加的. 从兼容角度,应该默认是除权前,不然如果是实盘,贸然升级,直接就挂了...请开发人员设置默认值时,作更深入的考量。

 回到顶部
总数 31 上一页 1 2 3 4 下一页