zoukankan      html  css  js  c++  java
  • 关于通达信数据格式的发布

    本月将发布有关通达信日线和分时图数据格式的文章将放在个人的金融学文章板块,请有关关注这方面的朋友届时注意
    目前进度:已分布分时图数据格式在http://www.cnblogs.com/same/articles/722400.html,这里公布两种代码VB6 和VB2005 作用一样
    ①VB6  
    Public tempdata() As Long
    Public NumBase(5As Long '基数
    Public NumUnit(4As Long '每单位对应的16进制数
    Public NumUnitPrice(4As Long '每单位对于的10进制数,已被从元为单位扩大1000倍

    Public Type tempFSTrecord '每一条记录的长度为26字节:
        FSTtime As Integer
        price 
    As Long
        avgPrice 
    As Long
        changor 
    As Integer
        unUse0 
    As Integer
        unUse1 
    As Long
        unUse2 
    As Long
        unUse3 
    As Long
    End Type
    Function LoadFSTdata(ByVal filename As String, fst() As FSTrecord) '240个分记录,26个字节一个记录,6508字节一天
        Dim ifile As Integer, i As Integer, j As Integer
        
    Dim TFR As tempFSTrecord
        
    Dim fileP As Long
        
    Dim lenDayFST As Long: longDayFST = 6508
        
    Dim lenminuteFST As Long: lenminuteFST = 26
        ifile 
    = FreeFile
        Open filename 
    For Binary As ifile
        
    'LoadFSTdata = (LOF(ifile) - 8) / 26 - 10
        LoadFSTdata = LOF(ifile) / 6508

        
    ReDim fst(1 To LoadFSTdata, 239)
        
    ReDim tempdata(1 To LoadFSTdata)
        
    ReDim tempMidprice(1 To LoadFSTdata)
        
    ReDim fstMaxPrice(1 To LoadFSTdata)
        
    For j = 1 To LoadFSTdata
            
    Get ifile, 1 + (j - 1* longDayFST, tempdata(j)
            
    Get ifile, 5 + (j - 1* longDayFST, tempMidprice(j)
            fstMaxPrice(j) 
    = 0
            
    For i = 0 To 239
                fileP 
    = (j - 1* longDayFST + i * lenminuteFST + 8 + 1
                
    Get ifile, fileP, TFR
                fst(j, i).FSTtime 
    = TFR.FSTtime + 1 'fst(i).FSTtime = TimeSerial(0, TFR.FSTtime + 1, 0)
                fst(j, i).price = TFR.price
                fst(j, i).avgPrice 
    = TFR.avgPrice
                fst(j, i).changor 
    = TFR.changor
                
    If Abs(TFR.price - tempMidprice(j)) > fstMaxPrice(j) Then
                       fstMaxPrice(j) 
    = Abs(TFR.price - tempMidprice(j))
                
    End If
            
    Next i
        
    Next j
        Close ifile
    End Function
    Function getRealPrice(formerPrice As LongAs 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

    Public Sub main()
        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
        readZST.Show'由这个窗体去调用以上的函数,自己写
    End Sub


    ②   VB2005代码

  • 相关阅读:
    RPC调用框架比较分析--转载
    hbase快速入门
    美国诚实签经验——着装,戒指,手表装土豪,医生预约单,流水、房产和工作证明
    美国诚实签经验——英语演练回答,回答中说明目的,需要的时间和费用
    美国诚实签经验——医院预约单和医院资料,孕中保险是加分项
    东京一日游
    cassandra删除所有数据,重置为初始状态——删除<data dir>/data/* <data dir>/commitlog/* <data dir>/saved_caches/* 重启cassandra即可
    echo 到 stderr
    bash编程 将一个目录里所有文件存为一个array 并分割为三等分——利用bash array切片
    linkerd——针对java的为微服务提供可靠性的proxy,服务发现重试LB等
  • 原文地址:https://www.cnblogs.com/same/p/711466.html
Copyright © 2011-2022 走看看