美文网首页
MT4 hst 文件解析

MT4 hst 文件解析

作者: 古月量化 | 来源:发表于2020-12-17 11:22 被阅读0次
    #coding=utf-8  
     
    ''' 
     Created on 2017 
     @author: songy
     为适应 Python3 修改于 2020-12-17 by blucehu
    ''' 
     
    import struct   
     
    if __name__ == '__main__':       
        fp = open("USDJPY60.hst" ,'rb')
        content = fp.read()
          
        #读取头文件结构信息  #基础版本
        print(struct.unpack("i", content[0:4])[0])
        
        #版本信息 
        s = struct.unpack("64c", content[4:68])
        s = [bytes.decode(i) for i in s]
        print("".join(s))    
        
        #货币对名称   
        s = struct.unpack("12c", content[68:80])
        s = [bytes.decode(i) for i in s]
        print("".join(s))
        
        #周期 (单位分钟) 
        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): 
        for tip in range(content_len-60, content_len, 60): #最后一条记录
            #datetime.datetime.utcfromtimestamp(x).strftime('%Y.%m.%d %H:%M')
            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]))
    

    相关文章

      网友评论

          本文标题:MT4 hst 文件解析

          本文链接:https://www.haomeiwen.com/subject/yxtzgktx.html