|
股票期貨日線數(shù)據(jù)處理 直接上代碼 Public Const 通達(dá)信目錄 = "E:\new_tdxqh\" Public Const 期貨日線目錄 = 通達(dá)信目錄 & "vipdoc\ds\lday\" Public Const 期貨5分鐘目錄 = 通達(dá)信目錄 & "vipdoc\ds\fzline\" Public Const 通達(dá)信期貨分類文件 = 通達(dá)信目錄 & "T0002\hq_cache\code2name.ini" Public Const 上海股票日線目錄 = 通達(dá)信目錄 & "vipdoc\sh\lday\" Public Const 上海股票5分鐘目錄 = 通達(dá)信目錄 & "vipdoc\sh\fzline\" Public Const 深圳股票日線目錄 = 通達(dá)信目錄 & "vipdoc\sz\lday\" Public Const 深圳股票5分鐘目錄 = 通達(dá)信目錄 & "vipdoc\sz\fzline\" Function 期貨日線(hy As String) '處理期貨日線歷史數(shù)據(jù) Dim f As Integer Dim lLen As Long, i As Long Dim a() Dim b() Dim 長(zhǎng)度 Dim a1 As Long Dim 開(kāi)盤(pán) As Single Dim 最高 As Single Dim 最低 As Single Dim 收盤(pán) As Single Dim 成交 As Long Dim 持倉(cāng) As Long Dim 昨結(jié) As Single f = FreeFile Open 期貨日線目錄 & hy For Binary As #f lLen = LOF(f) ReDim Preserve a(1 To LOF(f) / 32) For i = 1 To LOF(f) / 32 Get #f, , a1 Get #f, , 開(kāi)盤(pán) Get #f, , 最高 Get #f, , 最低 Get #f, , 收盤(pán) Get #f, , 持倉(cāng) Get #f, , 成交 Get #f, , 昨結(jié) 日期 = CDate(Left(a1, 4) & "/" & Left(Right(a1, 4), 2) & "/" & Right(a1, 2)) a(i) = Array(日期, 開(kāi)盤(pán), 最高, 最低, 收盤(pán), 持倉(cāng), 成交, 昨結(jié)) Next Close #f 長(zhǎng)度 = UBound(a, 1) ReDim Preserve b(1 To 長(zhǎng)度, 1 To 8) For i = 1 To 長(zhǎng)度 For j = 1 To 8 b(i, j) = a(i)(j - 1) Next Next 期貨日線 = b End Function 這里就是一個(gè)處理2進(jìn)制文件的OPEN 命令,open " E:\new_tdxqh\vipdoc\ds\fzline\#47IFL8.day" 具體文件請(qǐng)看一下通達(dá)信存放日線數(shù)據(jù)的目錄。 函數(shù)返回的是一個(gè)數(shù)組 EXCEL 的SHEET表其實(shí)也是數(shù)組,不過(guò)功能更強(qiáng)大 SHEET表的CELLS(I,J)就可以看做是數(shù)組的ARR(I,J) 因?yàn)镵線數(shù)據(jù)我們只處理為一個(gè)2維數(shù)組,所以用EXCEL 很直觀,數(shù)組很容易在EXCEL里面打印出來(lái)。 只要明白CELLS(I,J) =====ARR(I,J)就行。 舉個(gè)例子 sub 列表() dim hy as string hy ="#47IFL8.day" '滬深300主力連續(xù) 數(shù)據(jù) =期貨日線(hy) 行數(shù) = ubound(數(shù)據(jù),1)‘這里是數(shù)組的行數(shù) 列數(shù)=ubound(數(shù)據(jù),2)’這里是數(shù)組的列數(shù) for i= 1 to 行數(shù) foe j = 1 to 列數(shù) cells(i,j)=數(shù)據(jù)(i,j) next next end sub |
|
|
來(lái)自: wzhsz > 《股市技術(shù)》