⑴ 大智慧日K线的数据结构
大智慧日K线的数据结构 大智慧股票行情软件是目前应用广泛的一个炒股工具,有时我们需要自编炒股的算法进行研究,如提取某只股票的收盘价,成交量等,这时候如果能直接读大智慧股票分析系统的数据格式,将对软件的编制带来极大的方便。(注:大智慧用的钱龙数据格式,本文适用于钱龙股票行情软件中的日k线数据)。
一、数据文件和数据结构:
大智慧数据文件和数据结构:(假设大智慧股票行情软件安装在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);
......
}
}
⑵ 股票里的源码是什么意思
股票里的源码是指股票交易所的软件源代码,是股票交易所维护股票交易流程的核心代码。源代码通常包含了关键算法、数据结构、网络通信、交易规则等一系列技术细节,是股票交易系统的灵魂之一。
源代码的维护和优化对于股票市场的健康发展非常重要。优秀的源代码可以提高交易系统的稳定性和安全性,减少系统错误和故障,推进股票市场信息化进程。因此,各家交易所经常对源代码进行更新和维护,以满足市场变化和技术需求。
尽管源代码十分重要,然而只有拥有足够的软硬件配套和技术团队才能充分发挥其价值。这也是为什么大多数小型股票交易所很难与大型交易所相比。在全球化和数字化的今天,进行信息化建设成为股票交易所必不可少的战略手段之一,不断加强对源代码的投入和管理,是推动产业升级和增强竞争力的重要途径。
⑶ 买卖股票的数据结构 - 订单簿
证券交易所使用订单簿(Order Book)作为买卖股票的数据结构。订单簿是按照价格排列的订单队列,包含一个买入簿和一个卖出簿。匹配订单遵循先进先出原则。
下图展示了一个简单的订单簿数据结构示例。
若出现一个买入2700股的市价单,那么此订单将与卖出订单进行匹配。当买入与卖出价格相同时,双方订单立即成交。若价格不等,则该买入订单将在买入簿等待,直至找到合适的卖出订单。
订单簿的高效设计需满足以下条件:
高效的订单簿设计能提高市场流动性,减少交易延迟,保证交易的快速执行和公平性。