历史数据从通达信下载,通达信是很良心的软件,提供免费的数据,不得不赞一下。
详细步骤如下:
1,打开通达信,在系统菜单里选择盘后数据下载
![2c4841ea6196d9319b3af2170906d871.png](https://i-blog.csdnimg.cn/blog_migrate/2c60d262274729c2020267d5877dfde8.png)
2,选择期货市场行情分钟线,勾选1分钟数据,选择好时间段,时段与MT4的数据时间衔接起来,添加需要下载数据的品种,点击开始下载,等待下载完成
![b378d78a93564b886b937544566ced15.png](https://i-blog.csdnimg.cn/blog_migrate/a7450e11fb58d142270052431cfaf77d.jpeg)
3,将下载的离线数据导出,在系统菜单里选择数据导出,选择高级导出
![708573e113c0ae879b593cbd7a00a1c6.png](https://i-blog.csdnimg.cn/blog_migrate/d33d6d6b213c36ce13cfa9b5b6b06d39.png)
![5c4d59614d764019dca558c32cd548e1.png](https://i-blog.csdnimg.cn/blog_migrate/9065d452fcc93d34c3561a265ea5672b.png)
4,添加需要导出的品种,选择1分钟线,选择好导出目录,文件命名为TXT格式,不要勾选生成导出头部,分隔格式选逗号,日期格式YYYY-MM-DD,设置好后点开始导出
![19d4a69900985c564508a989eecb623d.png](https://i-blog.csdnimg.cn/blog_migrate/c6319d68df0251b1c236962742eaed43.jpeg)
5,导出的TXT文件如下图
![6578693411502a85682b02a6432011ed.png](https://i-blog.csdnimg.cn/blog_migrate/4bd62d1d61f7b0b3ca54fbab25c50f1a.png)
![560d81adee6f89feb813259a9f999632.png](https://i-blog.csdnimg.cn/blog_migrate/6d9418bdc3374ea0c473926a96bf7771.png)
6,打开通达信转换MT4程序,弹出DOS窗口,输入TXT文件的绝对路径,回车确认即可把TXT文件转换成MT4格式的csv文件,点DOS窗口图标可粘贴路径,路径不能多输入空格,否则路径会识别错误
![8d84bdc39876ad226d38755ee85f6028.png](https://i-blog.csdnimg.cn/blog_migrate/050895206c9247f4a2db758eea47b584.png)
![9e2951bdb196f20f796e9d08d4e97d00.png](https://i-blog.csdnimg.cn/blog_migrate/dd7573fa1931eee863fbb76e6b8a1151.png)
7,打开MT4历史数据中心,找到需要导入数据的品种,双击1分钟周期显示历史数据,可以查看最早的数据时间,点击导入,选择转换好的csv文件,其他参数不变,点击OK,即可把历史文件导入进MT4
![9d14da9b26a10218c60b3ee3aa427e49.png](https://i-blog.csdnimg.cn/blog_migrate/35f024172545772bfb93c802a109d4f7.png)
![f32ef6e41b5978d5693a60ea62cdb925.png](https://i-blog.csdnimg.cn/blog_migrate/02c5259f7fe086cd8f1f04236d9701b2.jpeg)
![0db81514379d37578d5f07cf6cc377c6.png](https://i-blog.csdnimg.cn/blog_migrate/7f94bed314c3ec124a88fd95488feb40.jpeg)
8,查看历史数据,已经增多,刷新K线图表窗口,历史K线便更新到图表中了
![cfd3f5cce7c1a9d58d0059e20cfe4440.png](https://i-blog.csdnimg.cn/blog_migrate/e344978e9e52d5bf13190420553e8ab7.jpeg)
![64f46c1eee731c7733092ad7de9667f8.png](https://i-blog.csdnimg.cn/blog_migrate/9ff5bc7172f877eabba407f45d5297e9.png)
9,用1分钟数据生成其他周期数据。把脚本里的周期转换工具拖到1分钟K线图上,参数输入5,表示将周期转为1*5即5分钟,转换完成后在文件菜单打开离线图表,可以查看到5分钟K线增多,起始时间和1分钟历史数据时间一致
![194a31f08bfab3a78abcb358e03e97b2.png](https://i-blog.csdnimg.cn/blog_migrate/d6a34ea6601928fa0a5c13ba8d588fd8.jpeg)
![9e57670f26eba590b41eb97b04954008.png](https://i-blog.csdnimg.cn/blog_migrate/e91c75ad25f5c0579a4644bef4060a23.png)
![5500aa36292a6f2f4bb04b6ced53eddd.png](https://i-blog.csdnimg.cn/blog_migrate/0a756058491413132b8bae58d30ba4b5.png)
10,打开5分钟K线图,发现5分钟数据已经更新了,若没有更新就再回到第7-8步,区别是在导入时,选择刚转换好的5分钟历史数据,即在历史文件夹里选择hst数据,导入完成再刷新K线图即可
![8d5b2db8c4001367f6a1471feebd0e42.png](https://i-blog.csdnimg.cn/blog_migrate/9e9c95fbbed67a4b7e51f055672bdfed.png)
![ff2762f4946a00404956ed1c2765e47f.png](https://i-blog.csdnimg.cn/blog_migrate/59f07302c7036717b047a064ecad6145.jpeg)
通达信转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('路径前不得有空格,请检查输入是否正确')