一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

飛狐QRT格式解析轉(zhuǎn)帖

 luckybat 2018-04-13
QRT格式解析
2010-10-31 20:44
0-文件頭 包含股票數(shù)量,記錄塊開(kāi)始位置1f8020。
0x20所有股票的頭信息,每個(gè)252字節(jié)。每個(gè)股票可能有0-33個(gè)記錄塊。
頭信息的0-8 字節(jié)為名稱(chēng)。
0xa是記錄總數(shù),short
0xe-0x4f為記錄塊索引,33個(gè)short。
0x1f8020 記錄塊開(kāi)始位置,每個(gè)記錄塊1200記錄,每個(gè)記錄36字節(jié)。
索引到記錄塊的計(jì)算是 0x1f8020+索引*1200*36
一個(gè)記錄塊有1200個(gè)記錄。

經(jīng)過(guò)長(zhǎng)時(shí)間的網(wǎng)上搜索,自己摸索,找出來(lái)的QRT格式,請(qǐng)大家參考:
數(shù)據(jù)文件(*.qrt)格式如下:
1. Header
0000000: e0ff ffff 0601 0000 2100 0000 b004 0000
e0ff : 格式頭
0x0106=262 每個(gè)期貨編碼是252字節(jié)?
0x21 =33, 對(duì)應(yīng)shStockPosition數(shù)組最大容量?
(記錄大小)(iRecordSize,0x4b0表示每個(gè)記錄塊有1200個(gè)數(shù)據(jù))
0000010: 0020 0000 2080 1f00 1101 0000 6500 0000
0x2000 最大代碼容量
0x0111 實(shí)際記錄塊數(shù)量?
(開(kāi)始位置)1f8020 (iRecordBeginPos)
(實(shí)際future個(gè)數(shù)) 0x65

前32字節(jié)的定義如下:
    public struct Header
    {
        public int iHead1;//Flag, -32
        public int iHead2;//0x106 version?
        public int iHead3;//0x21 max block count in each code
        public int iRecordSize;//0x4b0, 1200 record each record
        public int iHead5;//0x2000 max code count
        public int iRecordBeginPos;//0x1f8020
        public int iHead7;//actual total blocks
        public int iCodeNum;//actual code count
    }

2. Code header
//Read position bellow:
0000020: 4346 3031 0000 0000 0000 4400 0000 a100  CF01......D.....
(期貨編碼“CF01”,7字節(jié))       0x44 ( 記錄數(shù)量) 0xa1(記錄塊索引)

(shStockPosition數(shù)組,33*2,表示33個(gè)記錄塊位置,從0x2e開(kāi)始,每個(gè)位置以short表示,相對(duì)于開(kāi)始位置,每個(gè)位置1200個(gè)記錄)
for(j=0;j<33;j++)
{
iCodePosition[j] = iRecordBeginPos + (iRecordSize*36*shStockPosition[j]);
記錄塊開(kāi)始位置=0x1f8020+0x4b0 * 36 * 0xa1
然后針對(duì)每個(gè)iCodePosition[j]讀取36字節(jié)×記錄數(shù)的內(nèi)容。
}
0000030: ffff ffff ffff ffff ffff ffff ffff ffff  ................
0000040: ffff ffff ffff ffff ffff ffff ffff ffff  ................
0000050: ffff ffff ffff ffff ffff ffff ffff ffff  ................
0000060: ffff ffff ffff ffff ffff ffff ffff ffff  ................
0000070: 0000 0000 0000 6143 0000 0000 00e0 7146  ......aC......qF
0x70 iPriceType 股票2/基金3
0000080: 00b4 7046 0008 7246 00ec 6f46 0004 7146  ..pF..rF..oF..qF
0000090: 00c0 8f44 0000 8842 0070 2446 00dc 7046  ...D...B.p$F..pF
00000a0: 0000 5cc2 7d41 5f3f 82e9 b5be 0000 c8c1  ..\.}A_?........
00000b0: 0000 00c0 c64f 823f 0000 4040 0000 a040  .....O.?..@@...@
00000c0: 0068 7146 0008 7246 0000 9343 0000 5644  .hqF..rF...C..VD
00000d0: 0000 0000 0000 4040 0000 0000 0000 0000  ......@@........
00000e0: 0068 7146 0000 0000 0000 0000 0000 a040  .hqF...........@
00000f0: 0000 0000 0000 0000 0008 7246 0000 0000  ..........rF....
0000100: 0000 0000 0000 e2c4 3333 8d44 0000 0000  ........33.D....
0000110: 0000 fe42 00b0 4046 0000 0000
該頭一共252字節(jié)
每個(gè)期貨編碼都是252字節(jié),連續(xù)排放,直到(future個(gè)數(shù))讀完。
    [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
    public struct StStockInfoReceive
    {
        [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 8)]
        public string Code;
        public short s1;//8
        public short RecordCount;//10
        public short dummy;//12
        [MarshalAs(UnmanagedType.ByValArray, SizeConst = 33)]
        public short[] iPos;//14

        public int iPriceType;//0x50
        public float fTotalMinute;//54
        public float dummy0;//58

        public float fLast; //0x5c
        public float fOpen;
        public float fHigh;
        public float fLow;
        public float fClose;
        public float fVol;
        public float fVal7;
        public float fAmount;
        public float fMeanPrice;
        public float fZhangPrice;
        public float fZhenFu;
        public float fZhangRatio;

        public float fVal13;
        public float fVal14;
        public float fVal15;
        public float fVal16;
        public float fVal17;

        public float fBuyPrice;
        public float fSellPrice;
        public float fWaiPan;
        public float fNeiPan;
        public float fVal22;

        public float fB1Num;
        public float fB2Num;
        public float fB3Num;
        public float fB1Price;
        public float fB2Price;
        public float fB3Price;

        public float fS1Num;
        public float fS2Num;
        public float fS3Num;

        public float fS1Price;
        public float fS2Price;
        public float fS3Price; //0xe0
    }

-------------------------------------------------------------------------------------------------
3. 從01f8020開(kāi)始,每36個(gè)字節(jié)為一條筆成交記錄,每1200個(gè)記錄為一個(gè)記錄塊。一塊中可能有空白記錄:
01f8020: 532d 334b 0080 f245 00c0 cb44 8014 1548  S-3K...E...D...H
(時(shí)間4字節(jié))
01f8030: f801 0000 0000 0f00 0000 0000 00ff ff02  ................
01f8040: ffff 0100

902d 334b 00b0 f245 0080 dc44 801b 1548
1e00 0000 0000 4000 0000 0000 00ff ff02
ffff 0100

942d 334b 0010 f345 0040 7e45 00c7 1548  .-3K...E.@~E...H
01f8150: fc00 0000 0000 4b00 0000 0000 00ff ff02  ......K.........
01f8160: ffff 0100

每36個(gè)字節(jié)為一條筆成交記錄(盤(pán)口數(shù)據(jù)):
41000 - 41003 80 47 B2 2B 秒 Long
41004 - 41007 B9 1E 25 41 最新價(jià) Single
41008 - 4100B CD CC 4C 41 當(dāng)天累計(jì)成交量 Single
4100C - 4100F EC 51 18 41 當(dāng)天累計(jì)成交額 Single
41010 - 41015 9A 99 41 80 06 B2 買(mǎi)一量,買(mǎi)二量,買(mǎi)三量 short
41016 - 4101B 80 05 B2 70 12 B1 賣(mài)一量,賣(mài)二量,賣(mài)三量 short
4101C - 4101E CD CC 4C 買(mǎi)一,買(mǎi)二,買(mǎi)三 byte (相對(duì)于最新價(jià)加減值),以0.01元或者0.001元為單位,單位由iPriceType指定。
4101F - 41021 31 41 30 賣(mài)一,賣(mài)二,賣(mài)三 byte(相對(duì)于最新價(jià)加減值)
41022 - 41023 1A 2B 保留字節(jié)
bid1=最新價(jià) - 0.01 * 買(mǎi)一 依此類(lèi)推 (股票)
ask1=最新價(jià) + 0.01 * 賣(mài)一 依此類(lèi)推

或 bid1=最新價(jià) - 0.001 * 買(mǎi)一 依此類(lèi)推 (基金和權(quán)證)
ask1=最新價(jià) + 0.001 * 賣(mài)一 依此類(lèi)推

-------------------------------------------------------------------------------------------------
盤(pán)口數(shù)據(jù)的定義:
    struct STQRTPanKouInternal
    {
        public int iSeconds; // seconds since 1970/1/1
        public float fPrice;
        public float fTotalVol;
        public float fTotalAmount;
        [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
        public short[] iBuyNum;
        [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
        public short[] iSellNum;
        [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
        public byte[] fBuyPrice;
        [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
        public byte[] fSellPrice;
        public byte chBuy;
        public byte chOv;
    }
http://blog.csdn.net/zjbo_123/article/details/6640819 分析家分筆數(shù)據(jù)格式

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多

    99久久人妻精品免费一区| 日韩一区欧美二区国产| 午夜精品在线视频一区| 99久久免费中文字幕| 日本久久精品在线观看| 亚洲天堂男人在线观看| 欧美日韩综合综合久久久| 国产欧美日韩综合精品二区| 国产乱淫av一区二区三区| 美女被啪的视频在线观看| 午夜成年人黄片免费观看| 国产亚洲午夜高清国产拍精品| 黄色片一区二区在线观看| 欧洲亚洲精品自拍偷拍| 人妻精品一区二区三区视频免精 | 欧美乱妇日本乱码特黄大片| 国产欧美一区二区久久| 国产精品国三级国产专不卡| 国产精品日韩精品一区| 日韩一区二区三区在线欧洲| 国产人妻熟女高跟丝袜| 欧美成人黄色一级视频| 国产精品福利精品福利| 亚洲精品一区二区三区日韩| 国产精品欧美一级免费| 久久精品福利在线观看| 国产熟女高清一区二区| 欧美日韩精品一区二区三区不卡| 自拍偷女厕所拍偷区亚洲综合| 日本加勒比在线播放一区| 中国黄色色片色哟哟哟哟哟哟| 日韩毛片视频免费观看| 高清欧美大片免费在线观看| 91久久精品国产成人| 亚洲国产综合久久天堂| 日本中文字幕在线精品| 亚洲夫妻性生活免费视频| 欧洲自拍偷拍一区二区| 日韩综合国产欧美一区| 日本在线高清精品人妻| 亚洲精品成人综合色在线|