springweb 导入导出csv_期货历史数据导入MT4的方法

历史数据从通达信下载,通达信是很良心的软件,提供免费的数据,不得不赞一下。

详细步骤如下:

1,打开通达信,在系统菜单里选择盘后数据下载

2c4841ea6196d9319b3af2170906d871.png

2,选择期货市场行情分钟线,勾选1分钟数据,选择好时间段,时段与MT4的数据时间衔接起来,添加需要下载数据的品种,点击开始下载,等待下载完成

b378d78a93564b886b937544566ced15.png

3,将下载的离线数据导出,在系统菜单里选择数据导出,选择高级导出

708573e113c0ae879b593cbd7a00a1c6.png

5c4d59614d764019dca558c32cd548e1.png

4,添加需要导出的品种,选择1分钟线,选择好导出目录,文件命名为TXT格式,不要勾选生成导出头部,分隔格式选逗号,日期格式YYYY-MM-DD,设置好后点开始导出

19d4a69900985c564508a989eecb623d.png

5,导出的TXT文件如下图

6578693411502a85682b02a6432011ed.png

560d81adee6f89feb813259a9f999632.png

6,打开通达信转换MT4程序,弹出DOS窗口,输入TXT文件的绝对路径,回车确认即可把TXT文件转换成MT4格式的csv文件,点DOS窗口图标可粘贴路径,路径不能多输入空格,否则路径会识别错误

8d84bdc39876ad226d38755ee85f6028.png

9e2951bdb196f20f796e9d08d4e97d00.png

7,打开MT4历史数据中心,找到需要导入数据的品种,双击1分钟周期显示历史数据,可以查看最早的数据时间,点击导入,选择转换好的csv文件,其他参数不变,点击OK,即可把历史文件导入进MT4

9d14da9b26a10218c60b3ee3aa427e49.png

f32ef6e41b5978d5693a60ea62cdb925.png

0db81514379d37578d5f07cf6cc377c6.png

8,查看历史数据,已经增多,刷新K线图表窗口,历史K线便更新到图表中了

cfd3f5cce7c1a9d58d0059e20cfe4440.png

64f46c1eee731c7733092ad7de9667f8.png

9,用1分钟数据生成其他周期数据。把脚本里的周期转换工具拖到1分钟K线图上,参数输入5,表示将周期转为1*5即5分钟,转换完成后在文件菜单打开离线图表,可以查看到5分钟K线增多,起始时间和1分钟历史数据时间一致

194a31f08bfab3a78abcb358e03e97b2.png

9e57670f26eba590b41eb97b04954008.png

5500aa36292a6f2f4bb04b6ced53eddd.png

10,打开5分钟K线图,发现5分钟数据已经更新了,若没有更新就再回到第7-8步,区别是在导入时,选择刚转换好的5分钟历史数据,即在历史文件夹里选择hst数据,导入完成再刷新K线图即可

8d5b2db8c4001367f6a1471feebd0e42.png

ff2762f4946a00404956ed1c2765e47f.png

通达信转MT4小程序是以Python代码所写,完整代码如下:

#!/usr/bin/env python
#  -*- coding: utf-8 -*-
import csv
print('n')
print('MT4专用,版权所有: ','n')
print(r'文件绝对路径示例:C:new_tdxqhT0002exportMA.TXT')
while True :
    print('n')
    a=input('请在此输入文件绝对路径并回车:')
    if not a : break
    try :
        data = open(a)
        hM1 = []
        for i in data:
            d = [x for x in i.strip().split(',')]
            hM1.append(d)
        hM1.pop()
        for i in hM1 :
            i[0] = i[0].replace('-','.')
            i[1] = i[1][:-2]+':'+i[1][-2:]+':00'
        hM1 = [i[:7] for i in hM1]    
        b=a[:-4]
        M1 = open(b+' 1分钟.csv',"w+",newline='',encoding='utf-8')
        writer = csv.writer(M1)
        writer.writerows(hM1)
        #print(hM1[-5:])
        data.close()
        M1.close()
        print('n')
        print('转换完成')
    except FileNotFoundError :
        print('文件路径不存在,请检查输入是否正确')    
    except PermissionError :
        print('文件'+b+' 1分钟.csv'+'被占用,请先关闭再写入')
    except OSError :
        print('路径前不得有空格,请检查输入是否正确')
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值