搜索
查看: 9194|回复: 29

增加飞狐保存数据量的办法

[复制链接]

签到天数: 70 天

发表于 2009-1-18 09:18 | 显示全部楼层

增加飞狐保存数据量的办法

来自:MACD论坛(bbs.shudaoyoufang.com) 作者:newmem 浏览:9194 回复:29

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
1.先把数据备份(导出),然后清空数据;
2.用ultraEdit打开对应的day.hqd文件;
3.修改第12,13字节内容,B0 04-->60 09;
  (也可以改为其他数据,但最好是1200的倍数,比如10 0e,c0 12,70 17等,按照要求的数据量定.太大了,浪费空间)
4.保存文件;
5.导入数据;
注意在修改的过程中,不要修改其他数据,并且是在数据被清空的情况下修改;
此时,文件长度应该是641k

对应文件:
日线 : day.hqd
5分钟:min5.hqd
1分钟:min1.hqd

[ 本帖最后由 newmem 于 2009-1-18 09:25 编辑 ]
参与人数 1奖励 +18 时间 理由
冰火岛坐看云起 + 18 2009-1-19 12:14 论坛有你更精彩!

查看全部评分

金币:
奖励:
热心:
注册时间:
2008-3-11

回复 使用道具 举报

签到天数: 3 天

发表于 2009-1-21 11:57 | 显示全部楼层
需要这个东东,正烦恼硬盘太小,飞狐的收盘数据太吃硬盘了!多谢大大了!
金币:
奖励:
热心:
注册时间:
2005-3-2

回复 使用道具 举报

发表于 2009-1-22 01:08 | 显示全部楼层
感谢楼主分享,正需要学习!:
金币:
奖励:
热心:
注册时间:
2008-2-13

回复 使用道具 举报

发表于 2009-1-23 15:01 | 显示全部楼层
非常感谢!!!!!
但是我不明白
“修改第12,13字节内容,B0 04-->60 09;
  (也可以改为其他数据,但最好是1200的倍数,比如10 0e,c0 12,70 17等,按照要求的数据量定.太大了,浪费空间)”中的
10 0e,c0 12,70 17分别代表B0 04的多少倍?对应多少k线?最大能改成什莫样?怎样写?
金币:
奖励:
热心:
注册时间:
2003-11-16

回复 使用道具 举报

发表于 2009-1-23 21:43 | 显示全部楼层
这样修改后,飞狐最多能保存多少年的5分钟数据呢?

请告诉我一下,谢谢了
金币:
奖励:
热心:
注册时间:
2002-1-17

回复 使用道具 举报

发表于 2009-2-1 23:31 | 显示全部楼层
即使这样修改后,好象也不可以突破日线1970年的限制啊!
金币:
奖励:
热心:
注册时间:
2007-4-18

回复 使用道具 举报

签到天数: 70 天

 楼主| 发表于 2009-2-3 01:31 | 显示全部楼层
1.原来飞狐可以保存的数据量为33*1200=39600条记录,修改后按倍数变化,按2倍计算等于79200;
2.1970年限制来源于飞狐本身的算法.飞狐中保存的时间=1970-1-1以来的秒数,按照这个算法,目前的双字可以保存的时间范围大约是136.10年(大约是49710天,考虑为无符号整数,如果是定义为有符号整数,则时间范围减半),应该是在1970-1-1至2106-2-8,如果数据量超出这个范围,应该也无法保存了;1970缺陷,是飞狐本身的算法缺陷所致,如果要改变,只有找飞狐开发人员修改算法了.
3.限制来源于时间表达限制.文件结构限制可以用以上修改来改进,如果时间超出范围,暂时还没有好办法.
4.如果是保存1分钟,5分钟数据,可以用这个办法,日线数据,效果就不大了.

[ 本帖最后由 newmem 于 2009-2-3 01:43 编辑 ]
金币:
奖励:
热心:
注册时间:
2008-3-11

回复 使用道具 举报

发表于 2009-2-3 21:59 | 显示全部楼层
2106年??把系统时间改为2026年运行飞狐试试!再改为2038年试一次!
金币:
奖励:
热心:
注册时间:
2004-6-9

回复 使用道具 举报

发表于 2009-2-6 20:33 | 显示全部楼层
没必要改了,飞狐马上就要收费了。
金币:
奖励:
热心:
注册时间:
2005-8-14

回复 使用道具 举报

发表于 2009-2-8 10:18 | 显示全部楼层
自己搞。多麻烦,反馈给飞狐公司,要他们改,就让所有的人收益
金币:
奖励:
热心:
注册时间:
2004-3-12

回复 使用道具 举报

发表于 2009-2-8 10:20 | 显示全部楼层
可惜它们不会倾听用户的声音,很多好的建议都不采纳,闭门造车
金币:
奖励:
热心:
注册时间:
2004-3-12

回复 使用道具 举报

发表于 2009-2-8 16:45 | 显示全部楼层
我不明白
:
金币:
奖励:
热心:
注册时间:
2006-8-11

回复 使用道具 举报

发表于 2009-2-12 19:26 | 显示全部楼层
请问是哪个目录下的5分钟:min5.hqd?我发现在DATA目录下,几个目录中都有这个文件,SH和SZ下的尺寸最大,有几十M,DL、SQ、WH、ZZ目录下的都是641KB,是都改,还是改其中哪一个?
如改成1200的132倍,十六进制码是多少

[ 本帖最后由 错啦 于 2009-2-12 19:29 编辑 ]
金币:
奖励:
热心:
注册时间:
2003-6-26

回复 使用道具 举报

发表于 2009-2-12 20:22 | 显示全部楼层
通过计算器换算了一下,
(39600)10=(9AB0)16,找一个大小为641K的min5.hqd打开,没发现有9AB0的代码呵.若改成1200*33的4倍,即为1200*33*4=158400=(26AC0)16,在哪个位置,又如何改呢,请指教.谢谢
金币:
奖励:
热心:
注册时间:
2003-6-26

回复 使用道具 举报

发表于 2009-2-14 12:23 | 显示全部楼层
学习一下...
金币:
奖励:
热心:
注册时间:
2009-2-3

回复 使用道具 举报

发表于 2009-2-19 21:43 | 显示全部楼层
学习学习学习学习!!!!
金币:
奖励:
热心:
注册时间:
2007-1-24

回复 使用道具 举报

发表于 2009-2-24 23:13 | 显示全部楼层
程序不需修改吗?我改完档案汇入之後还是只有39600笔
金币:
奖励:
热心:
注册时间:
2002-6-9

回复 使用道具 举报

发表于 2009-2-28 10:42 | 显示全部楼层
感谢楼主分享*d:1*
金币:
奖励:
热心:
注册时间:
2005-3-24

回复 使用道具 举报

签到天数: 70 天

 楼主| 发表于 2009-2-28 23:30 | 显示全部楼层
呵呵,各位对飞狐还是这么热心啊,我可是已经放弃它了,最近正在编写自己的系统,没到这里来

飞狐的数据文件保存是按块做的.原来设计每支股票有33个块,每个块可以保存1200条记录.理论上修改块的数量与每个块的记录数都应该可以达到增加数据量的目的.但飞狐在生成文件之初就已经预先为每支股票分配好了块索引空间,修改会比较麻烦,最简单的办法就是修改记录数了

to jungchang:
原来的数据最多39600,你导入数据后,如果再增加数据,看数据量增加了没有

to 错啦:
39600在数据文件中是不存在的,是由1200*33得到的,33-->0x21, 1200-->0x4B0,这几个数据都在文件头前面可以找到
金币:
奖励:
热心:
注册时间:
2008-3-11

回复 使用道具 举报

签到天数: 70 天

 楼主| 发表于 2009-2-28 23:31 | 显示全部楼层
呵呵,各位对飞狐还是这么热心啊,我可是已经放弃它了,最近正在编写自己的系统,没到这里来

飞狐的数据文件保存是按块做的.原来设计每支股票有33个块,每个块可以保存1200条记录.理论上修改块的数量与每个块的记录数都应该可以达到增加数据量的目的.但飞狐在生成文件之初就已经预先为每支股票分配好了块索引空间,修改会比较麻烦,最简单的办法就是修改记录数了

to jungchang:
原来的数据最多39600,你导入数据后,如果再增加数据,看数据量增加了没有

to 错啦:
39600在数据文件中是不存在的,是由1200*33得到的,33-->0x21, 1200-->0x4B0,这几个数据都在文件头前面可以找到
金币:
奖励:
热心:
注册时间:
2008-3-11

回复 使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

本站声明:MACD仅提供交流平台,请交流人员遵守法律法规。
值班电话:18209240771   微信:35550268

举报|意见反馈|手机版|MACD俱乐部

GMT+8, 2025-4-15 15:19 , Processed in 0.040788 second(s), 12 queries , Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表