上个月想回测一个针对冷门交叉盘的均值回归策略,打开MT5一看,经纪商压根没上架这个品种。差点就准备放弃了,后来翻到MetaTrader 5官方帮助里关于自定义金融品种的功能,才发现这事儿有解。
问题的根源
经纪商提供的品种列表是固定的,他们要是不给某个品种,你没法硬要。但回测这件事,本质上不需要真实的交易通道,只需要数据。MT5的自定义品种功能就是解决这个痛点的——你自己建一个品种,自己喂数据。
创建自定义品种的步骤
官方帮助文档里写得很清楚,具体操作如下:
- 名称得是唯一的,不能跟经纪商已有的品种重名。官方规定只能含拉丁字母,特殊字符只允许
.、_、& 和 #。- "基础"字段填底层资产名称,比如期货合约就填对应的商品名。
- 有个省事的技巧——"复制自"下拉菜单,选一个现成品种,参数直接拷过来再微调。
历史数据的导入
品种建好了,但里面是空的,没有价格历史。我手头有MT4的历史数据(MT4上有这个品种),怎么弄进去呢?
history\文件夹里。导出来之后,要整理成MT5能认的格式。一个官方文档没明说的坑
自定义品种默认只存买价(bid)。如果你的EA在回测时需要用到卖价(ask)来计算(比如买单入场逻辑),就得单独把ask数据也导进去。我一开始没意识到这个问题,回测结果跟预期差了好几个点,折腾了两天才发现根儿在这儿。
在自定义品种上跑回测
品种建好、数据喂进去之后,打开策略测试器(Ctrl+R),下拉菜单里就能选到你的自定义品种了,跟用普通品种一样跑就行。
导出自定义品种
如果想备份或者分享给别人,可以在交易品种窗口里右键自定义品种,选"导出",会生成一个JSON文件,包含交易时段、合约规格等所有配置。方便得很。
参考来源:MetaTrader 5官方帮助 - 自定义金融品种(metatrader5.com)。
本文首发于FXEAR.com,原创内容,未经授权禁止转载。
```