通达信5分钟线数据格式解析

绿叶清风 2018-03-04 05:56:31
通达信5分钟线*.lc5文件和*.lc1文件
文件名即股票代码
每32个字节为一个5分钟数据,每字段内低字节在前
00 ~ 01 字节:日期,整型,设其值为num,则日期计算方法为:
year=floor(num/2048)+2004;
month=floor(mod(num,2048)/100);
day=mod(mod(num,2048),100);
02 ~ 03 字节: 从0点开始至目前的分钟数,整型
04 ~ 07 字节:开盘价,float型
08 ~ 11 字节:最高价,float型
12 ~ 15 字节:最低价,float型
16 ~ 19 字节:收盘价,float型
20 ~ 23 字节:成交额,float型
24 ~ 27 字节:成交量(股),整型
28 ~ 31 字节:(保留)

如下以数据:
2e 71 84 03 7b 14 06 41 70 3d 06 41 a4 70 05 41 8f c2 05 41 00 7d b0 4c 6c c7 a8 00 00 00 00 00
00~03字节解析出来是正确的,04 ~ 07 字节:开盘价,float型, 这里开始就不对了,无论是0x7b140641还是0x4106147b,转换后得到的都是个很大的数,与实际价格完全对不上(实际价格是8.38),求有做过的指点下!!万谢
...全文
3559 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wyzhhxx 2018-07-06
  • 打赏
  • 举报
回复
import struct
a = b'\x41\x06\x14\x7b'
print(struct.unpack('!f',a))
Out[7]: (8.380000114440918,)
朗晴 2018-03-20
  • 打赏
  • 举报
回复
绿叶清风 2018-03-19
  • 打赏
  • 举报
回复
不对,实际价格是8块多
福来哥 2018-03-17
  • 打赏
  • 举报
回复
0x4106147b 你需要百度一下float的存储结构。 我算了一下好像398.几不知道是否正确

23,408

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧