http://hi.baidu.com/mybennywolf/blog/item/939cc68d00207717b31bba99.html
大 智慧 5.60 经典版
数 据格式分析与程序接口开发(一)
作者:百度斑泥狼 更新时 间:2008-5-8
1 代 码表
1.1 证券代码列表
证 券代码列表对应文件为 dzh 安 装目录 / internet / tcpipdata / index.dat 文件,该文件在大智慧每次启动时被删除,并重新从服务器上下载。
文 件结构描述如下:
(1) 文件大小 = 证券数量 × 9 字节(每个证券占用 9 字节)
(2)每个证券内容描述
(2.1) 1 ~ 2 字节:排序序号,从 0 开始编号计数 == 2 字节的整数
(2.2) 3 ~ 8 字节:证券代码 == 6 字节的 ASCII 字符串
(2.3) 9 ~ 9 字节:统一为 0x00 ,无特殊意义,可能是作为分隔符
1.2 证券名称列表
证 券名称列表对应文件为 dzh 安 装目录 / internet / tcpipdata / init.dat 文件,该文件在大智慧每次启动时被删除,并重新从服务器上下载。
文 件结构描述如下:
(1) 文件大小 = 头部字段 28 字 节 + 证券数量 × 32 字节(每个证券占用 32 字节)
(2) 头部字段
(2.1) 1 ~ 8 字节:大智慧最后一次联网的日期, 8 字节 ASCII 字符串
(2.2) 9 ~ 10 字节:未知
(2.3) 11 ~ 12 字节:证券数量
(2.4) 13 ~ 28 字节:未知
(3) 每个证券内容描述
(3.1) 1 ~ 8 字节:证券名称
(3.2) 9 ~ 14 字节:证券代码
(3.3) 15 ~ 16 字节:证券代码类型
(3.3.1) 0x1F 0x00 一般证券(场内交易的股票和基金等)
(3.3.2) 0x1E 0x00 证券指数(上证指数、深圳)
(3.3.3) 0x20 0x00 证券指数(沪深 300 指 数等)
(3.4) 17 ~ 32 字节:未知
2 自 选股
自 选股文件保存位置: dzh 安 装目录 / CFG / netwrkic.bk2
文 件结构描述如下:
(1) 文件最开始的 4 字节:自选股板块的数目
(2) 后面是每个板块的内容按顺序描述如下(长度 不定):
(2.1) 4 字节:板块编号,4字节整数
(2.2) 1 字节:板块名称的长度(单位为字节,一个汉字占用两个字节),1字节整数
(2.3) 20 字节:板块名称,20字节字符串。板块名称最长 20 字节,默认名称为“自选”加序号,所以修改名称后,在二 进制文件中可能出现 Love11 的 情况( 04 4C 6F 76 65 31 31 ),这种情况不用理会后面的两个 31 ,直接根据名称长度 04 取四个字节即可。
(2.4) 4 字节:该板块中证券的数目,4字节整数
(2.5) 14 字节:板块中证券的内容
(2.5.1) 2 字节:证券类型 0x00 0x06 上海股票; 0x01 0x06 深圳股票
(2.5.2) 6 字节:证券代码,6字节字符串
(2.5.3) 6 字节:未知
3 日 线文件
日 线文件保存位置:
上 海: dzh 安装目录 / DATA / SHase / Day ,深圳: dzh 安 装目录 / DATA / SZnse / Day ,名称为“证券代码 .day ”。
文 件结构描述如下:
(1) 文件大小 = 证券数量 × 40 字节(每个证券占用 40 字节)
(2) 每个证券内容描述
(2.1) 1 ~ 4 字节:日期 == 4 字节的整数
(2.2) 5 ~ 8 字节:开盘价 == 4 字节的整数(数值=真实开盘价× 1000 )
(2.3) 9 ~ 12 字节:最高价 == 4 字节的整数(数值=真实最高价× 1000 )
(2.4) 13 ~ 16 字节:最低价 == 4 字节的整数(数值=真实最低价× 1000 )
(2.5) 17 ~ 20 字节:收盘价 == 4 字节的整数(数值=真实收盘价× 1000 )
代码表的处理
沪深两市代码表的含义参考日志中另外两篇文档:
上海:http://hi.baidu.com/mybennywolf/blog/item /7c47093e5fee83fc838b13e6.html
深圳:http://hi.baidu.com/mybennywolf/blog/item /828e25efbd2c17e9cf1b3ef5.html
在两市代码中存在一部分逋唬绾味杂Φ秸返拇笾腔凼萑障呶募柯枷拢?br>
冲突的代码表见本文最后附表,附表中的type数值是从init.dat文件中读取到的代码类型(参考我写的数据格式分析说明)。通过分析我发现,相同 Code的日线数据,type为偶数的从上海目录中获取,type为奇数的从深圳目录中获取。
asdf
http://hi.baidu.com/mybennywolf/blog/item/8352ce89ba2ebeb50e244441.html
代码表的处理
沪深两市代码表的含义参考日志中另外两篇文档: 上海:http://hi.baidu.com/mybennywolf/blog/item/7c47093e5fee83fc838b13e6.html 深圳:http://hi.baidu.com/mybennywolf/blog/item/828e25efbd2c17e9cf1b3ef5.html 在两市代码中存在一部分逋唬绾味杂Φ秸返拇笾腔凼萑障呶募柯枷拢?br> 冲突的代码表见本文最后附表,附表中的type数值是从init.dat文件中读取到的代码类型(参考我写的数据格式分析说明)。通过分析我发现,相同Code的日线数据,type为偶数的从上海目录中获取,type为奇数的从深圳目录中获取。 附表:
|
sdf
http://hi.baidu.com/mybennywolf/blog/item/bc66622a148ee92bd52af11a.html
代码表处理的简单方式
在init.dat文件中的代码表是按照上海、深圳的顺序排列的,所以在循环中第二次得到“000001”的证券代码时就可以判断从这个位置开始到最后的都是深市证券,此前的则属于沪市
开发到目前已经完成所有自定义F6板块读取和个股的价格K线绘制,先上个上证指数收盘线的截图:)
工具栏中代码输入框格式为 “证券代码 证券名称 代码表中的序号”