分享

博易大师数据转飞狐交易师 VBS

 禁忌石 2015-03-22
博易大师数据转飞狐交易师 VBS

  Sub Main() '脚本主程序,请在此下写入主程序代码
  dateNum=10 '0代表全部导入,初始化的时候,全部导入,以后建议只更新最近几天的数据, 10代表只导出最近10天
  strFile="E:\证券数据\pobo\Data\nyefut\Day\CONC.day" '博易大师日线文件(美国原油连续)
  fileName="C:\TXTDAY\IDIDCONC.TXT" '导出的文件(飞狐交易师标准文本文件)
  PoboToFoxtraderTXT strFile,fileName,dateNum
  End Sub '脚本主程序结束
  Sub PoboToFoxtraderTXT(strFile,fileName,dateNum)
  Const ForReading = 1, ForWriting = 2, ForAppending = 8
  Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
  Dim objStream, fso, jiaGe(10)
  Set objStream = CreateObject("ADODB.Stream")
  objStream.Type = 1
  objStream.Open
  objStream.LoadFromFile strFile
  If dateNum=0 Then
  dateNum= objStream.Size/32
  ElseIf dateNum < objStream.Size/32 Then
  dateNum=dateNum
  Else
  dateNum=objStream.Size/32
  End If
  objStream.position = objStream.Size-dateNum*32
  For i = 1 To dateNum
  readFile = AscB(objStream.Read(1))+AscB(objStream.Read(1))*256+AscB(objStream.Read(1))*256*256+AscB(objStream.Read(1))*256*256*256
  nian = readFile\1048576
  yue = readFile\65536-nian*16+100
  ri = (readFile Mod 65536)\256\8+100
  riQi = CStr(nian)+"/"+Right(CStr(yue),2)+"/"+Right(CStr(ri),2)
  For j = 1 To 4
  readFile = AscB(objStream.Read(1))+AscB(objStream.Read(1))*256+AscB(objStream.Read(1))*256*256+AscB(objStream.Read(1))*256*256*256
  jiaGe(j) =CStr(readFile/1000)+" "
  Next
  objStream.position = objStream.position+12 '成交量持仓量数据结构未知,暂时不导出!
  shuChu = shuChu+riQi+" "+jiaGe(2)+jiaGe(3)+jiaGe(4)+jiaGe(1)+vbCrLf
  riQi=""
  Next
  objStream.Close
  Set objStream = Nothing
  Set fso=CreateObject("Scripting.FileSystemObject")
  If fso.FolderExists("C:\TXTDAY") Then
  i=0
  Else
  fso.CreateFolder ("C:\TXTDAY")
  End If
  Set MyFile=fso.OpenTextFile(fileName,ForWriting,True,TristateFalse)
  MyFile.WriteLine shuChu
  MyFile.close
  Set MyFile = Nothing
  Set fso = Nothing
  End Sub

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多