关于MT4接入外部数据问题,破解Hst文件

#coding=utf-8 
'''
Created on 2017��2��3��
 
@author: songy
'''
import  struct
 
if  __name__  = =  '__main__' :
     
     with  open ( "../EURUSD5.hst" 'rb' ) as fp:
         content  =  fp.read()
     #读取头文件结构信息
     #基础版本
     print  struct.unpack( "i" , content[ 0 : 4 ])[ 0 ]
     #版本信息
     print  " ".join(struct.unpack(" 64c ", content[ 4 : 68 ]))
     #货币对名称
     print  " ".join(struct.unpack(" 12c ", content[ 68 : 80 ]))
     #周期 (单位分钟)
     print  struct.unpack( "i" , content[ 80 : 84 ])
     #小数点位数
     print  struct.unpack( "i" , content[ 84 : 88 ])
     #基准报时
     print  struct.unpack( "l" , content[ 88 : 92 ])
     #同步时间
     print  struct.unpack( "l" , content[ 92 : 96 ])
     #将来应用
     print  struct.unpack( "13i" , content[ 96 : 148 ])
     #循环结构
     content_len  =  len (content);
     for  tip  in  range ( 148 ,content_len, 60 ):
         print  "time:" ,struct.unpack( "l" , content[tip:tip + 4 ])
         print  "open:" ,struct.unpack( "d" , content[tip + 8 :tip + 16 ])
         print  "high:" ,struct.unpack( "d" , content[tip + 16 :tip + 24 ])
         print  "low:" ,struct.unpack( "d" , content[tip + 24 :tip + 32 ])
         print  "close:" ,struct.unpack( "d" , content[tip + 32 :tip + 40 ])
         print  "vol:" ,struct.unpack( "l" , content[tip + 40 :tip + 44 ])
     

你可能感兴趣的:(python,mql5)