MetaTrader 策略测试器可以让 EA 在历史数据上运行、检查具体操作并比较参数组合。它适合发现代码错误和理解规则行为,但输出仍是假设结果:真实使用中的市场、账户与运营环境不会完整重复测试。
回测做什么
测试把程序代码、输入参数、产品设置、选定期间与建模方法组合起来。MT5 可以测试多货币策略并使用多个处理代理,MT4 则有自己的测试器与建模选择。更强算力只会增加实验数量,并不会令薄弱假设变成事实。
数据与建模风险
历史与报价生成
历史缺失、时区差异、柱线构建与模拟报价都会改变规则何时触发。MT5 提供从经纪商真实报价到简化 OHLC 或开盘价的多种模式。更快模式会省略细节,应视为粗略筛选,而不是可互换结果。
产品与账户设置
合约规模、价格精度、最小交易量、保证金、隔夜利息、佣金、点差与成交规则都会影响结果。忽略或错误设置成本会明显夸大表现。设置应匹配计划产品并与结果一同记录。
过度拟合与后见偏差
优化会搜索大量参数组合。如果同一期间反复用于挑选并评价策略,流程可能拟合不会持续的随机特征。因此平滑曲线可能更多反映搜索过程,而不是基础规则。
NFA 关于假设结果的指引强调后见之明、没有真实财务风险,以及流动性和滑点等市场因素。即使报告很详细,这些限制仍然存在。
更好的验证设计
- 查看最终期间前先写下规则与成功标准。
- 保留不用于选择参数的数据。
- 使用现实点差、佣金、融资与成交假设。
- 测试参数和开始日期的小幅变化。
- 检查具体成交、回撤与集中度,而非只看总回报。
- 加入不利期间与数据缺失检查。
- 历史测试后进行前向或模拟观察。
- 记录重大变化并重复审批流程。
MT5 前向测试可把选定期间分成优化与之后的验证部分,有助于暴露部分拟合问题,但两部分仍是研究者选择的历史数据。
真实交易增加什么
真实使用会增加点差变化、队列位置、滑点、请求被拒、部分成交、连接中断、平台更新与人工干预。重叠仓位或保证金使用也可能让策略改变整个账户敞口。
智能交易系统、MQL4 与 MQL5说明部署控制,平台连接与交易运营风险则说明信号逻辑以外的故障。
如何阅读测试报告
应检查成交次数、持仓时间、最大回撤、平均结果、按产品与期间的集中度,以及对假设的敏感度。少量成交或一个异常期间可能主导标题数字。应同时报告有利与不利发现,并明确标注所有模拟结果。
回测最适合用于证伪:它可以揭示规则在既定条件下失败,却无法证明未来一定盈利。

