MT4移动止损 - MT4完整版下载后历史数据是否一应俱全

完整版安装包的真实含义
MT4安装包的大小通常在几十兆到一百多兆之间,这个体积对于包含全球所有交易品种、所有周期、所有历史K线来说,显然是不现实的。所谓完整版,其实指的是客户端程序包含了全部功能模块,比如技术指标、脚本、EA交易系统、多语言界面、各种画线工具等。也就是说,你拿到的这个软件,功能上没有任何阉割,该有的工具都在里面。
但行情数据完全是另一码事。数据是存储在服务器端的,你的电脑只是通过互联网把需要的那部分数据下载到本地缓存里。当你打开一个图表时,MT4会向服务器请求该品种某个时间段的数据,然后显示出来。你看到的K线数量,实际上取决于服务器给你推送了多少,而不是你的软件里预先装了多少。
说句实话,很多老交易者用MT4好几年,也没把某个品种的全部历史数据看全过。因为默认情况下,MT4只加载最近的一段数据,比如日线大概显示几百根K线,月线可能只有几十根。这跟网络状况、服务器负载都有关系,但最核心的原因还是:软件本身就不附带历史数据包。
历史数据的获取机制与限制
MT4的数据获取逻辑很简单:按需加载。你打开哪个品种、哪个周期,它就临时从服务器拉取对应的数据。如果你不断向上滚动图表,MT4会继续向服务器请求更早的数据,然后一点点加载出来。这个过程不是无限顺畅的,通常加载到一定深度就会停住,因为服务器端对每个品种、每个周期的历史数据深度是有上限的。
以最常见的美元兑日元为例,MT4自带的服务器数据一般能回溯到2000年左右,但有些小币种或者冷门交易品种,可能只提供最近几年的数据。这取决于你的交易商服务器上存了多少数据。不同平台商的MT4服务器,数据深度可能差别很大,有的能看20年,有的只有10年。所以“完整版”并不能保证你看到所有MT4挂单触发后原订单消失变持仓真相历史,关键在于你连接的是哪家服务器。
另外,MT4的图表周期也影响你能看到的历史长度。月线图因为每根K线代表一个月,能显示的时间跨度天然就长;而1分钟图,每根K线只有一分钟,即使服务器有10年数据,你也不可能全部加载出来,因为数据量太大了。服务器会对每个周期设置最大K线数量限制,超过这个数量,旧数据就不再提供。
手动补全历史数据的方法
如果你确实需要更完整的历史数据来做回测或者分析,MT4提供了一个“历史数据中心”功能。在工具栏里找到“工具”菜单,选择“历史数据中心”,这里可以按品种、按周期查看已经下载到本地的数据。你可以选择某个时间段,然后点击“下载”按钮,MT4就会从服务器重新拉取指定的数据范围。这个方法可以帮你补全一部分缺失的数据,但仍然受限于服务器端的数据深度。
还有一种办法是使用第三方数据源。很多专业交易者会从Dukascopy、Tick Data等机构购买或者免费下载历史行情数据,然后通过MT4的“导入”功能,把外部数据导入到本地。操作路径是:历史数据中心里选中品种和周期,然后右键选择“导入”,找到你下载好的CSV或者PRN文件,按照格式要求导入即可。这种方式能拿到比服务器更长的历史数据,比如有些数据源能提供追溯到1990年代的报价。
不过说实话,对大多数普通交易者来说,MT4服务器自带的数据深度已经够用了。做短线交易,你需要的是最近几个月甚至几周的1分钟或5分钟数据;做中长线分析,日线和周线的十几年数据也基本能覆盖主要行情。除非你要做非常深度的策略回测,否则没必要费劲去折腾外部数据导入。
数据加载速度与本地存储空间的关系
当你第一次打开一个品种的图表时,会感觉数据加载有点慢,尤其是网络不太好的时候。这是因为MT4需要从服务器下载数据并写入本地缓存文件。
缓存文件存放在MT4安装目录下的“history”文件夹里,按服务器名称和品种分类存放。
当你反复查看同一品种的不同周期时,这些数据会逐渐积累在本地,下次打开就会快很多。
这里有个常见的误解:很多人以为把“历史数据最大K线数”设置调高,就能看到更多历史数据。其实这个设置项(在工具-选项-图表里)只是控制图表上最多显示多少根K线,比如你设为50000,图表就会尽量加载50000根K线,但如果服务器只有30000根,那也只能显示30000根。它不会让服务器凭空多给你推送数据。
另外,本地缓存文件如果积累太多,也会占用不少硬盘空间。比如你经常看多个品种的1分钟图,那个history文件夹可能会膨胀到几个GB。这时候你可以手动清理,但清理后下次打开图表又得重新下载数据。所以建议只在需要的时候才去查看冷门品种的小周期图,不要全部看一遍,否则光下载数据就够你等的。
最后说一点实际经验:如果你的交易商提供的是比较差的服务器,数据经常断档或者加载不全,不妨换个数据源试试。有些服务器在非交易时段会关闭数据推送,这时候打开图表只能看到最近几天的数据。等开盘后重新连接,数据才会慢慢补回来。这种情况不是你的软件有问题,纯粹是服务器端的设置。