建议先用ultraedit打开,把里面的结构搞清楚,例如那一段是股票代号,哪一段是名称,哪一段价格。
第二步:读写流。读写二进制文件用System.IO.BinaryReader和System.IO.BinaryWriter类;
你同样要分析数据格式。特别day文件里的日期,我是老早搞过,现在都忘了。里面的日期好像还要换算。day文件里存储的是一段时期的每天价格。这个好像很好分析的。原来用delphi编过,刚才找没找到,可能被老婆给删除了。
这个给你参考:
一、数据文件和数据结构:
大智慧数据文件和数据结构:(假设大智慧股票行情软件安装在D:dzh目录下)
上海日线存储路径为:D:dzhDATASHaseDay,文件扩展名为:.day
上海周线存储路径为:D:dzhDATASHaseweek,文件扩展名为: .wek
上海月线存储路径为:D:dzhDATASHasemonth,文件扩展名为: .mnt
深圳日线存储路径为:D:dzhDATASZnseDay
深圳周线存储路径为:D:dzhDATASZnseweek
深圳月线存储路径为:D:dzhDATASZnsemonth
周线,月线格式与日线格式一致.
以深发展日线为例:
1A76:0100 D6 CD 2F 01 52 07 01 00-52 07 01 00 52 07 01 00
1A76:0110 52 07 01 00 86 0F 00 00-4D 02 00 00 00 00 00 00
1A76:0120 00 00 00 00 00 00 00 00-D7 CD 2F 01 60 03 01 00
1A76:0130 60 03 01 00 60 03 01 00-60 03 01 00 82 05 00 00
1A76:0140 D4 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00
每一条记录的长度为40字节:
1-4字节为日期,D6 CD 2F 01转换为十进制是:19910102
5-8字节=开盘价(元)*1000
9-12字节=最高价(元)*1000
13-16字节=最低价(元)*1000
17-20字节=收盘价(元)*1000
21-24字节=成交金额(元)/1000
25-28字节=成交量(手)
其余12字节未使用
实现步骤:
1、先定义日线数据结构数组
2、再以实际记录数分配动态数组空间
3、然后把数据读入相应数组中
日线数据放在:%app_dir%\DATA\SHase\Day(上证A股) 以及 %app_dir%\DATA\SZnse\Day(深圳A股)
#pragma once
struct DZH5Day
{
unsigned long date//date的格式:20070423
unsigned long open//开盘价
unsigned long high//最高价
unsigned long low//最低价
unsigned long close//收盘价
unsigned long moneysum//成交金额
unsigned long turnover//成交数量
char unused[12]//保留
}
整个结构共40个字节,读者可以查看所有的日线文件,大小肯定是40的倍数
这样很容易读出相应的数据:
如:
FILE* pFile = fopen("600001.day", "rb")
if (NULL != pFile)
{
while(!feof(pFile))
{
DZH5Day dayK
fread(&dayK, sizeof(DZH5Day), 1, pFile)
......
}
}
-------------------------------------------------------------------------------------------------------
公式也叫指标,是通过一些数学公式做成的较直观的画线,目的是辅助投资人买、卖,当然这些这些公式有准的,有不准的。对于指标,每个人也每个人不同的见解。大智慧指标当然就是用在大智慧软件上的指标了,它没什么不同,只是格式不一样而已。大智慧internet版的指标格式是.exp,大智慧新一代指标格式是.fnc,和分析家软件格式一样。
要下载的话,你可以到:
这里面有飞狐和大智慧、大智慧新一代、分析家、通达信的指标可供下载,每天都在更新。他们网站上做的都是压缩包,也就说你下载下来以后,进行解压缩就能打开了。
关于导入,关键看你用的是哪套软件了,不过我这有两套软件的导入导出方法:
大智慧(导入)
选择菜单栏中的[自编],选择[导入],找到你下载并解压缩后的指标所在路径,[打开],[全选],[导入],输入某股票代码,如600000,再输入你下载指标的名称的第一个拼音字母,如“疯牛指标”,就输入:FNZB,回车就能看见了。
大智慧(导出)
选择菜单栏中的[自编],选择[导出],找到你要导出的指标,双击,选择[导出],给要导出的指标取个名字、确认导出路径就可以了。
大智慧新一代(导入)
选择[公式],选择[公式引入],选择[浏览],找到你已解压的指标所在的文件夹(注意,是文件夹,不是文件),[确定],这样就可以引入需要的指标了。
大智慧新一代(导出)
选择[公式],选择[公式输出],找到你要导出的指标,把名字前面的勾打上,选择[输出],再确认一下导出路径和指标名称并选择[保存]就可以了。
破解版=盗版,这是我的理解!我支持正版大智慧软件!
大智慧软件官方下载地址:
大智慧新一代(Level2)下载地址:
大智慧Ineternet版下载地址:
大智慧网上行情:
YYYYMMDD写日期,其实就是年、月、日的格式。
“Y”是英文 year 的缩写,意思是:年。
“M”是英文 month 的缩写,意思是:月,月份。
“D”是英文 day 的缩写,意思是:日。
因此,YYYYMMDD写日期,其实就是年、月、日的格式,前面四位是年份,中间两位是月份,后面两位是日期,比如20170826。
文件中的日期书写格式应为:
一、日期标准格式:
公历日期标准格式为:2007年2月6日;或2007-02-06。
农历日期标准格式为:丁亥年腊月十九日。
干支历日期标准格式为:丁亥年壬寅月辛未日。
二、日期书写不得以小数点或顿号代替年月日,如:2007.2.6; 2007、2、6。
三、年月日中的年号必须写全,不能简写成: 07年2月6日或 07-02-06。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)