通达信的5分钟数据格式 *.lc5

通达信的5分钟数据格式 *.lc532字节为单位:CD003F0233330F42-7B14114266660E423D0A1142B02FF64B-A4B20D0000000000>>>struct.unpack(‘hhfffffii’,buf)(205,575,35.799999237060547,36.270000457763672,35

大家好,又见面了,我是你们的朋友全栈君。32字节为单位:
CD 00 3F 02 33 33 0F 42-7B 14 11 42 66 66 0E 42
3D 0A 11 42 B0 2F F6 4B-A4 B2 0D 00 00 00 00 00

>>> struct.unpack(‘hhfffffii’, buf)
(205, 575, 35.799999237060547, 36.270000457763672, 35.599998474121094, 36.259998321533203, 32268128.0, 897700, 0)

205 / 100 : 月
205 %100 : 日
575 / 60 : 小时
575 % 60 : 分钟
(实数)OPEN
(实数)LOW
(实数)HIGH
(实数)CLOSE
(实数)成交额
成交量
保留

实数,就这么简单。

另外,day文件里面的成交额也是实数。


2 .zst文件(分时图数据结构)

 

http://www.cnblogs.com/same/articles/722400.html

通达信的zst的数据记录是每6508个字节为一天的数据,每26个字节为一个分钟的记录,这26个字节是这样分配的,时间占两个字节化为十进制为570 的话表示9:30分(570/60=9.5) 下一个是占四个字节的叫现价,再下四个字节叫均价,另外还有两个字节为该分钟成交量(现在有可能已经改为四个字节),剩下的14个字节是预留的,那么大家 会发现用我以前所有介绍的方法求出的现价和均价都是个天文数字,和股票价格相差甚远但又有规律似的,一般好像玛雅人才用到似的,我介绍一种最简单的办法给 大家去求价格的对应关系,大家任找门股票把他的在整数位价格对应的四个字节的16进制和价格位记下来,如4元对应40800000 其实这时你如果对zstli任意个16进制的价格x 想求出他的对应的真实价格,只要用过比例式就能求出,不过先别高兴去操作,因为并不是所有价格档次都是同个比例的,大家看下面的表对照一下,我已经帮大家 总结到32的价格,可算到64块钱内个股票64和128元的各位有兴趣在回复中补上,补充一点就是该方法是我导师陈尹力教授指导下完成的,程序代码将公布 在个人随笔里的思想里面,也是这个月四月发布,由于笔记本被偷失去很多资料,具体公布的东西仅供大家参考,也作为抛砖引玉,支持我的朋友请在回复中发表您 的发现,丰富知识内容。
该算法适用与所有通达信行情软件,如南方证券,鑫网通达信行情软件,并且价格的换算算法对通达信的day日数据里面的价格也适用

RMB zst数据 zst数据10进制 1¥对应的16进制间隔 人民币间隔 1¥对应的10进制间隔 
A B C D E F 
0 3F800000 1065353216 400000 1¥ 4194304 
4 40800000 1082130432 200000 1¥ 2097152 
8 41000000 1090519040 100000 1¥ 1048576 
16 41800000 1098907648 80000 1¥ 524288 
32 42240000 1109655552 40000 1¥ 262144 
           1118830592       

按比例算法求。设取到的数为X(化为十进制的了),那么(X-C)/real(x)=F/(1¥*1000) 扩大一千倍,其实以上的C和F就是你可以通过判断逻辑求出取哪个对应的哪个C只有real(x)未知
移动方程两边可求出准确的价格(均价可达到0.001精度),求出后的十进制价格是放大了1000倍的
程序代码链接:http://www.cnblogs.com/same/archive/2007/04/13/711466.html

 

 ——————————————————————————————————————————————————————

来源:http://www.clore.net/forum/thread-9551-1-1.html

VB2005代码与通达信数据格式基本声明
    Public NumBase(5) As Long ‘通达信格式基数
    Public NumUnit(4) As Long ‘每单位对应的16进制数
    Public NumUnitPrice(4) As Long ‘每单位对于的10进制数,已被从元为单位扩大1000倍

基本模块

    Public Sub intTDXelg()Sub intTDXelg()
        NumBase(0) = 1065353216 : NumBase(1) = 1082130432 : NumBase(2) = 1090519040 : NumBase(3) = 1098907648 : NumBase(4) = 1109655552 ‘: NumBase(5) = 1118830592
        NumUnit(0) = 4194304 : NumUnit(1) = 2097152 : NumUnit(2) = 1048576 : NumUnit(3) = 524288 ‘: NumUnit(4) = 262144
        NumUnitPrice(0) = 0 : NumUnitPrice(1) = 4000 : NumUnitPrice(2) = 8000 : NumUnitPrice(3) = 16000 ‘: NumUnitPrice(4) = 32000
    End Sub
在form load 事件中调用intTDXelg

    Public Structure stockDayRecordStructure stockDayRecord ‘保存一门股票的日数据信息
        Dim stockdate As Date
        Dim openor As Single
        Dim hightor As Single
        Dim lowor As Single
        Dim endor As Single
        Dim changor As Integer
        Dim id As Integer
        Dim VbP As Integer
    End Structure

    Public Function getRealPrice()Function getRealPrice(ByVal formerPrice As Long) As Long  ‘注意移植此函数是要把公共变量NumBase预NumUnit移动移植
        Dim i As Integer
        For i = 1 To 4                                 ‘该函数可返回32元人民币以下对于的准确价格
            If formerPrice < NumBase(i) Then
                getRealPrice = (Val((formerPrice – NumBase(i – 1)) & “000”) / NumUnit(i – 1)) + NumUnitPrice(i – 1)
                Exit For                                  ‘ & 000 相当于 * 1000,以‰为单位
            End If
        Next i
    End Function

读取模块

Function LoadDayData()Function LoadDayData(ByVal filename As String, ByRef dr() As stockDayRecord, ByVal t As Short) As Long
‘股票读取接口,第一个参数为装载股票数据的结构体
        Dim fs As FileStream = File.OpenRead(filename)
        Dim br As New BinaryReader(fs)
        Dim n As Integer
        Dim i As Integer, j As Integer
        Select Case t
            Case 1 ‘中天
              Case 2 ‘通达信 暂时不用
                n = (fs.Length – 4) / 32
                LoadDayData = n
                ReDim dr(n)
                br.ReadInt32() ‘文件头到底是什么,另外是头天顺序颠放到了某个地方
                For i = 1 To n
                    Dim d As Integer = br.ReadInt32()
                    dr(i).stockdate = DateSerial(d / 10000, (d Mod 10000) / 100, d Mod 100)
                    dr(i).openor = getRealPrice(br.ReadInt32) / 1000
                    dr(i).hightor = getRealPrice(br.ReadInt32) / 1000
                    dr(i).lowor = getRealPrice(br.ReadInt32) / 1000
                    dr(i).endor = getRealPrice(br.ReadInt32) / 1000
                    br.ReadInt32()
                    dr(i).changor = br.ReadInt32
                    dr(i).id = i
                    If (dr(i).hightor <> dr(i).lowor) Then dr(i).VbP = dr(i).changor / ((dr(i).hightor – dr(i).lowor) * 1000)
                    br.ReadInt32()
                Next
        End Select
        fs.Dispose()
        LoadDayData = j
    End Function

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/164001.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • CSS之选择器建议收藏

    选择器(selector)是CSS中的重要概念,用于对HTML元素的查找和控制。由于Selenium学习需求特对选择器相关知识进行学习和总结,方便以后查阅。基本选择器基本选择器是jQuery中最常

    2021年12月18日
    289
  • 如何安装Pycharm_pycharm安装教程2020

    如何安装Pycharm_pycharm安装教程2020安装方法:1、安装配置好Python环境;2、从官网下载pycharm安装程序;3、直接双击下载好的exe文件,进入安装向导界面,按照指示一步步操作;4、点击Install进行安装,等待安装完成后,点击Finish结束安装即可。本教程操作环境:windows7系统、Python3.5.2版本、DellG3电脑。首先我们来安装python1、首先进入网站下载:点击打开链接(或自己输入网址http…

    2022年8月25日
    7
  • softreference 回收_method verification

    softreference 回收_method verification一、softReference的作用    SoftReference的主要特点就是在当内存不够的时候,GC会回收SoftReference所引用的对象。所以,在memorysensitive的项目中将某些数据设置成SoftReference可以避免内存的溢出。1、创建一个SoftReferenceSoftReference>softReference=newSof

    2025年10月8日
    8
  • .net cms开源_基于vue的开源CMS

    .net cms开源_基于vue的开源CMS提起开源cms,大家第一想到的是php的cms,因为php开源的最早,也最为用户和站长们认可,随着各大cms系统的功能的不断完善和各式各样的开源cms的出现,.net和java的高端的cms系统也逐渐的走上了开源的路线,尤其是.net的cms系统,从最早国外的开源,到现在国内致力于.net的cms系统的研发的公司和团队也渐渐认清楚开源路线的必然性,于是乎竞相的提出开源战略路线,但有的还是并不是全

    2022年9月1日
    6
  • pytorch-DataLoader(数据迭代器)

    pytorch-DataLoader(数据迭代器)目录1.1dataset1.1.1Map-styledatasets实现方法一(简单直白法)实现方法二(借助TensorDataset直接将数据包装成dataset类)实现方法三(地址读取法)1.1.1Iterable-styledatasets我们一般使用一个for循环(或多层的)来训练神经网络,每一次迭代,加载一个batch的数据,神经网络前向反向传播各一次并更新一次参数。而这个过程中加载一个batch的数据这一步需要使用一个torch.utils.data.DataLoader对象,并且

    2022年6月11日
    82
  • c++中fstream是什么意思_c++形式参数

    c++中fstream是什么意思_c++形式参数初学C++fstream最近出于学习需要,接触了一些C++的程序,对于文件的操作,在C++中的实现方法与C中有些不同,现归纳如下:C++中对文件的操作,是围绕三种类型的文件流(ifstream,ofstream,ftream)进行的.而这三种流事实上是系统定义的类.操作中,首先使流与文件相关联,通过流(也就是类成员)来完成对文件的操作.文件使用完毕,一定要关闭,从而切断流…

    2026年1月24日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号