大智慧二和大智慧三的日線數(shù)據(jù)格式?jīng)]有變化。這個(gè)文檔適用于c++開(kāi)發(fā)人員。
本文檔由alantop原創(chuàng),轉(zhuǎn)載請(qǐng)標(biāo)明. 來(lái)自 http://alantop.5166.info
以深圳為例 數(shù)據(jù)放在 C:\dzh2\data\sz\day.dat
數(shù)據(jù)結(jié)構(gòu)共分三個(gè)結(jié)構(gòu)體:
1. 開(kāi)始部分,存放一些全局?jǐn)?shù)據(jù)的結(jié)構(gòu)體(共24個(gè)字節(jié))
由0x00 - 0x17開(kāi)始
起止地址 數(shù)據(jù)內(nèi)容 數(shù)據(jù)含義 數(shù)據(jù)類(lèi)型
00 - 03 F4 9B 13 FC 日線文件標(biāo)志 Integer
04 - 07 10 02 00 00 保留 Integer
08 - 0B 00 00 00 00 保留 Integer
0C - 0F D1 04 00 00 證券總數(shù) Integer
10 - 13 81 0C 00 00 需添加之起始?jí)K號(hào) Integer 就是文件的最后,計(jì)算方法是 0x41000 + 這個(gè)數(shù)字 * 8192
14 - 17 48 0C 00 00 當(dāng)前最后空塊號(hào) Integer 最后一個(gè)空塊 方法同上,就是說(shuō)寫(xiě)數(shù)據(jù),就在這個(gè)地方寫(xiě),寫(xiě)完就在上面地方新增加新的塊
struct GLOBAL_DATA
{
int dayflag;
int reserve1;
int reserve2;
int stocksum;
int startblock;
int lastblock;
};
2. 存放后面具體數(shù)據(jù)的索引 (64個(gè)字節(jié))
由0x18 - 0x58開(kāi)始,總共有多少由0x0c提供.
從18h開(kāi)始至40017h每64byte為一條股票數(shù)據(jù)分配記錄,含義下表18h - 57h所示
起止地址 數(shù)據(jù)內(nèi)容 數(shù)據(jù)含義 數(shù)據(jù)類(lèi)型
18 - 21 31 41 30 30 30...FF 證券代碼 Char[10]
22 - 25 B0 09 00 00 日線記錄數(shù) Integer
26 - 57 16 00 17 00...FF FF 記錄塊號(hào) Word[25]
struct INDEX_DATA
{
char code[10];
int dayrecordnum;
unsigned short int reocrd[25];
};
3. 具體數(shù)據(jù)的內(nèi)容(32個(gè)字節(jié))
0x41000開(kāi)始
8192 = 256 * 32
從41000h開(kāi)始每8KB為一股票數(shù)據(jù)存儲(chǔ)塊,每個(gè)股票數(shù)據(jù)存儲(chǔ)塊共存儲(chǔ)256條日線記錄,每一條記錄的長(zhǎng)度為32 byte(含義如上表;上漲家數(shù)及下跌家數(shù)只對(duì)指數(shù)有效);
從41000h開(kāi)始的8KB為第0號(hào)數(shù)據(jù)存儲(chǔ)塊,以后類(lèi)推;
系統(tǒng)對(duì)每個(gè)股票日線數(shù)據(jù)存儲(chǔ)以存儲(chǔ)塊為單位進(jìn)行分配。
日期字段的意義為:實(shí)際日期 = StrToDate(^1970-01-01^)+(日期字段 div 86400);即“日期字段”除以86400所得數(shù)為實(shí)際日期距1970年01月01日的天數(shù)。
對(duì)于c++來(lái)說(shuō)直接用__time32_t類(lèi)型直接出來(lái)就是日期(vs2005中,這個(gè)代表32位時(shí)間類(lèi)型值,在vc6中直接用time_t即可【vc2005中time_t代表64位時(shí)間值】)
起止地址 數(shù)據(jù)內(nèi)容 數(shù)據(jù)含義 數(shù)據(jù)類(lèi)型
41000 - 41003 80 47 B2 2B 日期 Integer
41004 - 41007 B9 1E 25 41 開(kāi)盤(pán)價(jià) Single
41008 - 4100B CD CC 4C 41 最高價(jià) Single
4100C - 4100F EC 51 18 41 最低價(jià) Single
41010 - 41013 9A 99 41 41 收盤(pán)價(jià) Single
41014 - 41017 80 06 B2 47 成交量 Single
41018 - 4101B 40 1C BC 4C 成交金額 Single
4101C - 4101D 00 00 上漲家數(shù) Word
4101E - 4101F 00 00 下跌家數(shù) Word
struct DAY_DATA
{
__time32_t date;
float open;
float high;
float low;
float close;
float amount;
float money;
unsigned short int rise;
unsigned short int fall;
};