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


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

   

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


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

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

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


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

marketdata.HistoryDataMode=0

Set temp_HistoryData_5s = marketdata.GetHistoryData("IF00","ZJ",12,180000,5)
call application.msgout("temp_HistoryData_5s_"& temp_HistoryData_5s.count)

Set HistoryData_1m = marketdata.GetHistoryData("IF00","ZJ",0,0)
call application.msgout("HistoryData_1m_"& HistoryData_1m.count)

这样也不对

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


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

marketdata.HistoryDataMode=1

Set temp_HistoryData_5s = marketdata.GetHistoryData("IF00","ZJ",12,180000,5)
call application.msgout("temp_HistoryData_5s_"& temp_HistoryData_5s.count)

Set HistoryData_1m = marketdata.GetHistoryData("IF00","ZJ",0,0)
call application.msgout("HistoryData_1m_"& HistoryData_1m.count)

marketdata.DestroyHistoryData

这样也不对,你说我用个标准函数累不累

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


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

Set HistoryData_1m = marketdata.GetHistoryData("IF00","ZJ",0,0)
call application.msgout("HistoryData_1m_"& HistoryData_1m.count)

Set temp_HistoryData_5s = marketdata.GetHistoryData("IF00","ZJ",12,180000,5)
call application.msgout("temp_HistoryData_5s_"& temp_HistoryData_5s.count)

这么倒下数字就对了,问题是,我要先取前面的

弄个Historymode本意是好的,问题是别弄没弄好,把原来的也改得不能用了



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


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

本地确定数据都有的,您看下


图片点击可在新窗口打开查看此主题相关图片如下:2zt44)tav$duwggb)_q$_`w.png
图片点击可在新窗口打开查看


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


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

老哥, 经过多轮沟通, 去掉严格限制勾后, 0,0 可以取到所有的K线. 
先用下吧.  您那如果勾上,是不是也不对?

所以,(1)这个勾也有问题,这勾和当前取history数无关的
      (2)按数量取数有问题

老哥,多谢老兄支持了, 另外,问下开发啥时能改好呀
[此贴子已经被作者于2015/8/8 20:30:50编辑过]

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


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

这个要看开发那边安排的,在后面新版中修复

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


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

好的,没问题,等新版了。

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


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

Y 版,接着还有问题, 代码如下: 

Set GridData_5s = Grid.GetHistoryData

Set temp_HistoryData_5s = marketdata.GetHistoryData("IF00","ZJ",12,180000,5)

s5_H_Enddata = temp_HistoryData_5s.count-GridData_5s.count-1       
s5_daysnumber = DateDiff("d", #1/1/1970# , temp_HistoryData_5s.date(s5_H_Enddata) )
s5_time_temp = right(temp_HistoryData_5s.date(s5_H_Enddata),8)
s5_timesnumber = 60*60*hour(s5_time_temp)+ 60* minute(s5_time_temp) + second(s5_time_temp)
s5_datetime = s5_daysnumber*100000+s5_timesnumber 

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

for i = HistoryData_1m.count - GridData_5s.count/12 -1000 to HistoryData_1m.count-1 '寻找History_1m的最后1根K线,与Grid衔接    
        m1_daysnumber = DateDiff("d", #1/1/1970# , HistoryData_1m.date(i) )
        m1_time_temp = right(HistoryData_1m.date(i),8)
        m1_timesnumber = 60*60*hour(m1_time_temp)+ 60* minute(m1_time_temp) + second(m1_time_temp)
        m1_datetime = m1_daysnumber*100000+m1_timesnumber 
      
        if m1_datetime = s5_datetime then
            H_Enddata_1m = i
            H_Begindata_1m = H_Enddata_1m - 270*330 +1   '330天的1m线,可以调整(270M 需要 的1m线)
        end if     
next 


for i = H_Begindata_1m to H_Enddata_1m   '执行数据库插入动作
   
   m1_daysnumber = DateDiff("d", #1/1/1970# , HistoryData_1m.date(i) )
   m1_time_temp = right(HistoryData_1m.date(i),8)
   m1_timesnumber = 60*60*hour(m1_time_temp)+ 60* minute(m1_time_temp) + second(m1_time_temp)
   m1_datetime_1m = m1_daysnumber*100000+m1_timesnumber 

    '执行数据库插入动作(略) 
call application.msgout("i:"&i&"_datetime:"&m1_datetime_1m&"_open:"&HistoryData_1m.open(i)&"_close:"&HistoryData_1m.close(i)&"_high:"&HistoryData_1m.high(i)& "_low:"&HistoryData_1m.low(i)) 

next

两台电脑( 2.97C++可调试版与这个最新版)最终发现策略结果不同,经检查是这个1m数据插入不同。 很邪门的是这个3.XX最新版

i = H_Begindata_1m to H_Enddata_1m   H_Begindata =588567, 第一个数取的值就不知道是哪里来的。 而 i=Endata_1m倒是对的。  

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


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

图片点击可在新窗口打开查看

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


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

上传了图片怎么看不见,是上传附件吗


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

[此贴子已经被作者于2015/8/18 23:51:13编辑过]

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