策略测试器
通过编辑器顶部的策略测试器打开。它在导入的历史数据上,用与导出的 EA 相同的规则运行你的策略。
设置
| 设置 | 说明 |
|---|---|
| 历史 | 你导入的数据集之一 |
| 图表周期 | PERIOD_CURRENT 对策略的含义。不能比历史数据更细。 |
| 模型 | 1 分钟 OHLC(精确,默认)或仅开盘价(快速) |
| 从 / 到 | 包含首尾日期;1Y / 3Y / 5Y 从历史末尾往回计算 |
| 入金、杠杆 | 账户以 USD 计 |
| 账户 | 仅 MT5:对冲(独立持仓)或净额(每个品种一个持仓)。MT4 始终为对冲。 |
| 点差 | 历史中有则取历史,否则用固定值 |
| 佣金 | 每手 USD,开仓和平仓时各收一次 |
| 滑点 | 市价入场和平仓时对你不利的点数(止损或止盈成交不计) |
| 隔夜利息 | 每手每晚的点数;周三晚上按三倍计 |
| 输入 | 仅用于本次测试的值 |
开始日期之前的几个月数据也会一起加载,使指标在第一根 K 线时就已稳定。
K 线内部的价格如何变化
使用 1 分钟 OHLC 时,每根 M1 K 线变成四个 tick:上涨 K 线为开盘、最低、最高、收盘,下跌 K 线为开盘、最高、最低、收盘,与 MetaTrader 测试器的假设一致。你的 onTick 图在每个 tick 上运行。K 线内被触及的止损或止盈按其价位成交;被跳空越过的按新价格成交。买单按 bid 平仓,卖单按 ask 平仓。
仅开盘价在每根图表 K 线的开盘时运行一次 onTick。止损仍会沿每根 K 线的路径检查。速度快得多,适合只在新 K 线时行动的策略。
图表与回放
测试完成后,图表显示 K 线和条件所用的指标、每次入场的箭头、每次离场的圆点,以及光标处持仓的止损和止盈。
- 播放 / 暂停,前进或后退一根 K 线,跳到开头或结尾
- 速度从 1× 到 1000×(每秒 K 线数),日期选择器和滑块可跳到任意位置
- 图表打开时,
onTick画布会为光标下的 K 线点亮方块:琥珀色为通过,红色为判定为假,绿色为已执行
阅读结果
- 报告: 净利润、盈利因子、最大回撤(金额和百分比)、恢复因子、夏普比率(由每日净值年化)、胜率、平均值、连续盈亏和成本。下方的框列出策略或数据中可能使结果与真实账户不同的因素。请务必阅读。
- 净值: 余额和净值随时间的变化,下方为相对峰值的回撤。
- 交易: 每笔已平仓交易及其离场原因。点击即可跳转到图表对应位置。
- 月度: 每月已平仓交易的利润,占当月初余额的百分比。
- 日志: 被拒订单、警报、强制平仓和其他消息。
每次测试都会保存到项目中。模板库会显示你对每个模板的最近一次测试。
在 MetaTrader 中确认
报告中的 MT5 测试器 .ini 和输入 .set 按钮会导出本次测试的设置。将 EA 编译到 MQL5\Experts,然后用 terminal64.exe /config:"<.ini 路径>" 启动终端,或在测试器的输入标签页中加载 .set。存在小差异是正常的:MetaTrader 每分钟生成更多 tick,而且你的数据可能与经纪商的不同。
限制
免费版测试使用 H1、H4 或 D1,最多覆盖一年。专业版支持 M1 到 D1 和全部历史。