• 关于通达信数据格式的发布


    本月将发布有关通达信日线和分时图数据格式的文章将放在个人的金融学文章板块,请有关关注这方面的朋友届时注意
    目前进度:已分布分时图数据格式在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代码

  • 相关阅读:
    JS中的一些遍历方法
    JS中关于引用类型数据及函数的参数传递
    JS中关于数组的操作
    CSS中的一些伪类
    JS中的回调函数
    JS中关于构造函数、原型链、prototype、constructor、instanceof、__proto__属性
    JDK的安装及环境变量配置
    JS中的this指针
    JS中的数据类型
    Word中页码及目录、参考文献的制做方法
  • 原文地址:https://www.cnblogs.com/same/p/711466.html
Copyright © 2020-2023  润新知