日期:2014-05-18  浏览次数:21234 次

有熟悉证券软件的朋友没,请教如何取通达信除权数据
gbbq和gbbq.map貌似经过加密,不知道有朋友知道如何取得其资料不?本人用来每天盘后自己做下数据分析,可以付现金。
有兴趣的朋友mail to:boblaw99@gmail.com,中boblaw99@163.com

好久没来过csdn了,顺便散下分,呵呵

------解决方案--------------------
sf.
------解决方案--------------------
bd. 不熟悉证券软件.
------解决方案--------------------
以前在博客园看到过类似的文章,是讲通达信数据格式的,转发一下,看看对你有没有帮助:

本月将发布有关通达信日线和分时图数据格式的文章将放在个人的金融学文章板块,请有关关注这方面的朋友届时注意 
目前进度:已分布分时图数据格式在http://www.cnblogs.com/same/articles/722400.html,这里公布两种代码VB6 和VB2005 作用一样
①VB6
C# code
Public tempdata() As Long 
Public NumBase(5) As Long '基数
Public NumUnit(4) As Long '每单位对应的16进制数
Public NumUnitPrice(4) As 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 FunctionFunction getRealPrice(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
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'由这个窗体去调用以