MT5 复盘多货币多商品流程
MT5多货币多商品EA复盘流程:
1. 下载MT5,可以在 MetaQuotes 公司官网上下载官方MT5版本 https://www.mql5.com/,于网页下方 windows 图标点击下载。
如果需要用最新的锁仓账户模式,在申请模拟账户窗口,搜索 MetaQuotes 公司官方的模拟账户服务器 MetaQuotes-Demo 然后选择这个服务器来申请锁仓模拟账户(或是 Alpari-MT5-Demo 或 ForexTime-MT5 这两家也提供锁仓模式的模拟账户),这样复盘的效果才会与日后转换 MT4 版本的下单行为一致。
锁仓账户模式在 MT5 窗口最上方会出现 Hedge 的字,表示当前账户是锁仓模式。
如需测试非货币商品例如测试黄金白银,可以使用 Alpari 或 ForexTime MT5 模拟账户.
不同交易商MT5的外汇历史数据皆为 MetaQuotes 公司维护,有长达数年的历史数据,精准度也小到一分图,如果是非外汇商品历史数据由交易商自己维护,数据历史会较短。
2. 下载MT5后申请模拟账户,流程与MT4类似
3. 在 MT5 “文件”-》“打开数据文件夹”,把EA文件放置于 \MQL5\Experts\ 文件夹内,然后刷新EA列表(或是直接重开MT5)
4. 在 MT5 “显示”-》“策略测试”,打开MT5复盘测试子窗口:
在上面第一行,选择测试的EA名称,货币选择EA里的任一商品名,周期选择合适的复盘测试周期,MT5可以支持多周期测试,MT5在复盘时会自动检查EA是否也用到其他非选单周期的周期来作多周期测试。
2. 复盘测试期间选“自定义周期",在右边选择复盘测试的开始日期和结束日期
3. 在上图 ”1分钟OHLC“那个选项是复盘价格的精细度,最细是第一个”每一订单号“,这个名称是中文翻译的错误,原文是 Every Tick,就是以最精细的 tick 行情数据来回测,如果测试周期是M15以上,用默认的”1分钟OHLC“模式测试即可,这样复盘速度较快。
个人撰写的多货币EA是采用监控不同商品价格同步的特殊设计,这样才能兼顾到不同商品的价格跳动,但较精确,缺点是复盘速度较慢,所以复盘测试个人提供的多货币EA范例,以”1分种OHLC“模式测试即可。
2017/03 更新:在新版 MT5 增加了一个新的复盘价格精度‘Evenry tick based on real tick’选项在 "Every Tick" 之下,宣称是贴近当时的历史数据,但数据量非常大,下载需要些时间,有兴趣的朋友可以尝试用这个价格精度作复盘。
4. ”可视化‘的勾选,如果勾选,在复盘开始后,会另外跳出另个视窗,那个视窗会显示复盘即时图形和交易记录,如果确定复盘结果无误,只是要调参数来看资金曲线,可以将“可视化’选项反选,这样复盘速度较快。
勾选”可视化“后出现的另个视窗图如下:
5. 再回到MT5的复盘子窗口:
输入界面可以输入EA的参数,在参数表上按右键会出来一个选单,可以选择默认,就是回到EA默认的参数值,选载入和保存,分别是载入外部的参数档案,和保存现有的参数档案。个人设计的多货币多商品EA,多商品名称列表的输入参数在EA的前几个参数可以找到,把需要复盘的商品在那个参数输入,中间以英文的逗号分隔,EA就会自动解析成多商品,如果只测试单一商品,这个参数就输入一个商品名称即可。
6. 在 设置 界面里,就是MT5复盘子窗口的第一个界面,按’开始‘,EA就开始复盘。
第一次测试,MT5会自动检查这个EA使用到多少商品,然后下载这个商品的历史数据,所以第一次测试需要比较长的时间来下载多货币历史数据(下次如果输入不同商品,会再重新检查下载不同商品的历史数据),之后复盘测试,MT5只检查新的测试日期与下载数据的差异,补下载差异部分,这样下载就不像第一次复盘这么慢。
在历史数据下载时,可以在日志里看到下载进度:
7. 开始测试后,可以在 图表 界面看到测试的即时资金曲线图,测试结束按右键,可以输出测试最终的报表和统计数据,例如每个月的盈亏统计,每周那天获利次数多,和一些测试图表:
8. 可视化的另一个视窗解说如下:
最上面一排的按键,复盘暂停按 || (方便复盘过程如需暂停仔细看交易信号是否如条件开单平仓)
停止按红色,+ - 号缩放显示图,拉条是复盘速度,拉到最右边是速度最快
复盘显示图表会依据那个EA使用到的商品和周期,来开出不同的图表。
这个视窗有四个子选项: 交易 历史 统计 日志
交易 - 显示未平仓前的即时部位,只显示’部位‘而不是显示单一下单的单,查询每一单需要到 历史 那里查询(未平仓即时单也在历史那里)。MT5的部位是单一商品当时的多单和空单总和叫部位,MT5只容许单一商品多单和空单单独存在,不能有多空单同时存在的状况,也就是不能有锁仓的行为,如果EA设计没有区分多空单同时存在,会自动冲销,这是在转写 MT4 EA 到 MT5 EA 作复盘,需要特别处理的地方。
部位的显示价格是是那个部位的平均成本价,止盈止损价也是平均止盈止损价格。
历史 - 里面会条列每一下单的状况,MT5 的止盈止损平仓,是另外下一个方向单来平的,不是用 MT4 那个 close 的方式,所以平仓会看到是另个方向的单独立开出来平仓,可以用下单数量来判断那个单是EA的单还是被止盈止损触发的MT5平仓单。
日志 - 显示复盘过程的下单日志。如果”可视化“没有勾选,这个视窗没有开启,日志的输出显示,就是在MT5复盘子窗口的那里日志作输出,但如果可视化这个视窗开启,日志只在这里输出,不再复盘子窗口那里的日志输出。
下面的日志可以看到是在复盘黄金白银两个货币EA的下单状况:
,
优化参数:
开启优化,在任务里的优化选项:
在输入里把要优化的参数前勾选起来,再填入参数优化范围值:
优化后可以看到不同参数值的结果和结果分布图:
如何下载MT5市场上的付费EA复盘测试
可以先在MT5官网上市场先浏览想要复盘测试的EA:https://www.mql5.com/en/market/mt5/expert
在MT5上“显示”-》“工具箱”-》“市场”,在窗口左上角选‘应用程序’,右边选单选‘专家’就会有市场里EA的列表,或是输入EA名称搜索。找到你要复盘测试的EA后,上面应该有“下载模拟”的按键,下载后,在复盘窗口的EA选单里,Market目录下就会出现这个付费EA的试用版可以复盘测试。
MT5 最新 build 1327 (April 29,2016) 开始加入MT4原有的同一商品多空可以并存的锁仓功能,并允许平仓对冲指定订单(MT5原有订单架构只能平仓对冲最早下单的单,也就是所谓的 FIFO - first in first out 的顺序)
但要能使用锁仓和指定订单平仓对冲功能,在申请模拟账户需要申请锁仓允许账户,如果没有勾选,还是原有的MT5下单处理模式:
如果 MT5 EA 需要使用新的锁仓功能和平仓功能,在编程里需要修改订单处理方式。但不管MT5如何修改与MT4相近的下单处理方式,MT5 EA在订单的处理编程方式还是与MT4是截然不同的,还是保持有 position, deal, order 几种不同的订单模式,只是在MT5的 position 模式另外多加锁单和平仓的处理。