article: 测试和验证交易策略的终极指南

测试和验证交易策略的终极指南

了解如何使用 MetaTrader 正确测试交易策略,从选择正确的平台到进行真正重要的全面回测。

测试策略

MetaTrader 4 还是 MetaTrader 5 用于策略测试?

这可能是我们收到的最常见的问题,答案可能会让您感到惊讶!让我们分解为什么 MetaTrader 5 应该是您进行严肃策略测试的首选,以及 MT4 何时仍然有一席之地(剧透:非常有限)。

MetaTrader 4 - 方便但有缺陷的选择

不要误会我们的意思 - MT4 的策略测试器比 MT5 的版本更简单、更用户友好。这就像开自动挡汽车与手动挡 - 更容易上手,但您失去了精度和控制。

这是一个大问题:MT4 不使用真实的 tick 数据!即使您选择”每个 tick”选项,它基本上也是在运行时编造数据。这在 2002 年 MT4 设计时还可以(高频交易甚至还不存在),但现在已经完全过时了。

那时,存储 20 年的 tick 数据需要 30GB 的存储空间 - 当 20GB 硬盘是常态时,这是不切实际的!因此 MetaQuotes 决定模拟 tick 数据。您可以在这个详细解释中阅读更多关于这种过时方法的信息。

MetaTrader 4, Every tick warning

这是可怕的部分:无数 EA 销售商使用 MT4 可预测的假数据来创建看起来令人惊叹但完全不切实际的天文数字性能结果。这就像在简单模式下玩电子游戏,然后期望在现实生活中得到相同的结果!

底线:今天 MT4 策略测试器的唯一有效用途是在启用可视模式的初步头脑风暴。仅此而已。

警告:永远不要相信使用 MetaTrader 4 制作的性能图表!

MetaTrader 5 - 真正的解决方案

MT5 于 2008 年发布,是为现代交易世界而构建的。其策略测试器可以通过”基于真实 tick 的每个 tick”模型使用真实 tick 数据。这是正确评估策略性能和回撤的唯一方法。

MetaTrader 4, Maximum accuracy of test results

但这里有个问题:您从哪里获得高质量的 tick 数据?MT5 有内置的 tick 数据,但通常限于最近几个月,并且通常来自您的经纪商(他们可能已经”润色”它以看起来更好)。

理想的解决方案?使用跨越 20 多年的独立收集的 tick 数据,其点差配置与您的实际经纪商匹配。这就是我们的 MT5 Tick Data 的用武之地 - 让您可以访问可追溯到 20 年的精确历史 tick 数据!

黄金法则:仅信任使用”基于真实 tick 的每个 tick”的 MetaTrader 5 性能图表,至少有 200+ 次模拟交易。

设置您的参考测试范围

理解趋势和交易时间框架

让我们谈谈趋势 - 它们就像海洋中的洋流。您有三种类型:短期、中期和长期。把它们想象成波浪、涌浪和潮汐。

这是一个基本规则,可以为您省去很多麻烦:永远不要逆势交易!

这意味着您需要分析多个时间框架,以确保您的所有交易都顺势而为,而不是逆势而为。首先选择您的主要交易时间框架 - 这是您将寻找机会和生成信号的地方。

但这是聪明的部分:始终使用更高的时间框架作为过滤器。如果您在 1 小时图表上交易,但日线趋势向下,也许跳过您正在考虑的那笔多头交易!

这是一个方便的参考表,用于配合良好的时间框架组合:

趋势类型 / 交易风格剥头皮日间交易波段交易投资
长期趋势M30H4D1MN
中期趋势M15H1H4W1
短期趋势(交易)M1M15H1D1

因此,如果您想在 H1 时间框架上交易,您会检查 H4 的中期趋势和 D1 的长期趋势。有道理吧?

创建您的参考测试范围

这是事情变得有趣的地方。您的参考测试范围应该像一个完整的市场故事 - 它需要包括上升阶段、下降阶段和横盘阶段,总体变化大致为零。

这样想:如果您在此期间只是买入并持有(没有任何费用),您会盈亏平衡。这为您提供了衡量策略的完美基线。

Defining of a standard test range

即使您在较短的时间框架上交易,这也可能需要几年的数据。但相信我们,这种彻底性是将盈利的交易者与赌徒区分开来的原因。

您的测试期不应重叠:

  • 回测范围:至少是您的参考测试范围的两倍
  • 前向测试范围:与您的参考测试范围持续时间相同(但从未用于优化!)

前向测试是您的期末考试 - 您只能使用一次来验证您完成的策略。

四阶段测试模型

开发一个坚实的自动化交易系统不是短跑 - 这更像是建房子。您需要坚实的基础和循序渐进的方法。

Test phases - Overview

以下是我们实际有效的四阶段方法:

阶段 1:规划 - 蓝图阶段

这是您戴上建筑师帽子设计交易想法的地方。不要跳过这一步 - 虽然直接跳到编码很诱人,但适当的规划可以为您节省数周的调试时间!

以下是一些要回答的关键问题:

  • 您将使用什么时间框架来开平仓交易?
  • 您将使用哪个时间框架来识别中期和长期趋势?
  • 您在每个时间框架中需要什么市场波动水平?
  • 您的交易时间框架中当前的动量是什么?
  • 对于您的策略,点差是否合理?
  • 是否有即将到来的新闻事件可能会干扰您的计划?
  • 关键的支撑和阻力水平在哪里?
  • 您对多少风险感到舒适?
  • 您想避免持有隔夜头寸吗?

专业提示:在编写一行代码之前,创建一个文档回答这些问题。一旦您清楚了,您可以使用 MT4 的可视模式进行快速功能测试。这实际上是 MT4 策略测试器的唯一好的用例 - 由于准确性在这里并不重要,它实际上很方便!

阶段 2:迭代优化 - 微调

这是魔法发生的地方,但也是大多数人出错的地方。关键是一次测试一件事!

假设您想了解追踪止损如何影响您的策略。保持其他所有内容不变,只测试不同的追踪方法。这样,您实际上可以看到每个更改对您的性能做了什么。

重要提示:一旦优化了参数,就不要再动它!这可以防止您陷入过度优化陷阱。

对于此阶段,使用 MT5,使用”OHLC”或”基于真实 tick 的每个 tick”作为您的数据模型,并测试至少两倍于您的参考测试范围。

阶段 3:性能评估 - 关键时刻

是时候看看您的策略真正的表现了!使用”基于真实 tick 的每个 tick”和所有可用的 tick 数据(除了您为前向测试保存的内容)。

这是一个很酷的技巧:由于您的参考测试范围价格变化大致为零,您可以轻松地对策略的性能进行分类:

表现优异的策略 🎉 您的大部分性能检查点(75% 以上)都在基线之上。这是您的目标!

Overperforming strategy

您的策略显著优于市场 - 恭喜,您可能找到了一个赢家!

中性表现策略 🤔 您的检查点分散在基线上下。这可能长期盈利,但也可能慢慢流失资金。

Neutral performing strategy

先不要扔掉它 - 通常这些可以调整成盈利的系统。是时候回到阶段 2 了!

表现不佳的策略 😬 大多数检查点都在基线以下。这个策略系统性地亏损。

Underperforming strategy

这个不适合实盘交易。回到绘图板!

阶段 4:前向测试 - 期末考试

这是您的策略在实盘前的最后测试。使用任何之前测试都没有触及过的 tick 数据 - 把它想象成完全新鲜的市场条件。

如果您的策略在这个前向测试中表现优于最近的市场性能,您可能有一个赢家!这是您对策略在实盘交易中的表现可能如何的最佳模拟。


总结

策略测试不仅仅是运行回测并期待最好的结果。这是一个系统的过程,需要:

  1. 正确的工具(带有真实 tick 数据的 MT5)
  2. 适当的方法(四阶段方法)
  3. 耐心(不跳过步骤或过度优化)
  4. 现实的期望(不是每个想法都会奏效)

记住:在回测中看起来不错但在前向测试中失败的策略不值得冒真实资金。前向测试是您的现实检查 - 如果它没有通过,您的资金也不应该通过!

目标不是创建完美的策略(它们不存在),而是开发一个能够在不同市场条件下持续表现的稳健系统。慢慢来,遵循流程,最重要的是 - 永远不要相信 MT4 策略测试器的结果!

祝测试愉快,愿您的前向测试永远对您有利! 🚀