你们有没有遇到过这种情况:MT5回测里EA跑得跟印钞机似的,年化百分之两三百,最大回撤控制在10%以内,结果一上实盘账户,连续三周稳定亏损,曲线跟心电图似的?我去年下半年被这个事儿折磨得差点把键盘砸了。后来花了整整两个月,把回测环境拆开揉碎了研究,才发现问题根本不在策略逻辑,而在滑点模型的失真。今天不扯虚的,直接把我踩过的坑和最终校准的参数对比方案摆出来,你们对照着自己测一下,大概率能救回来不少EA。
先说最坑的第一层:默认回测的滑点设置。MT5自带的回测里,滑点默认是“当前报价”模式,也就是按你VPS网络到服务器的最佳路径模拟,这玩意儿在实盘里根本不存在。我那个EA是抢突破行情的,挂单距离市价8个点,回测里每次都能精准成交,实盘里经常滑出去15到20个点,止损也被扫得更狠。后来我改成“每个tick基于真实报价”模式,再把滑点参数手动拉高到30点,回测收益直接砍掉四成。你们别心疼那点收益,这才是真实世界的残酷。这里有个关键参数:回测模式务必选“Every tick based on real ticks”,别用“1 minute OHLC”,后者会把一根K线内的波动全部抹平,滑点模拟纯粹是自欺欺人。
第二层是手续费和隔夜利息的校准。很多人回测里只填了佣金,忘了把库存费(隔夜利息)按实盘账户的合约规格填进去。我那个EA是持仓过夜型,欧美和镑美的多空库存费差得离谱,回测里每天扣2美金,实盘里实际扣4.5美金,一个月下来光利息就吃掉3%的利润。这个坑我一开始完全没意识到,直到我对比了实盘账单和回测报告里的“净利润”栏,才发现差额巨大。校准方案是:去你的经纪商官网查清楚
第三层也是最容易被忽略的:点差模式。MT5回测里默认是“当前点差”,也就是浮动点差,但实盘里尤其是数据行情(非农、CPI公布瞬间)点差会瞬间拉宽到平时的三到五倍。我那个EA平时在欧美上跑,点差1.2左右,回测里一切正常,结果上个月非农夜,点差瞬间飙到5.8,我的EA还在按1.2的假设去计算止盈止损距离,结果一连串止损被打掉,单日回撤直接破了历史记录。这个问题的解法是:在回测设置里把点差模式改成“固定点差”,然后手动填入一个比平时高50%的数值,比如欧美填2.0,镑美填2.5。虽然会牺牲一部分回测的漂亮曲线,但至少实盘不会给你惊喜。
最后说下三参数联调的实际操作步骤。我是这么做的:
我现在每开发一个新EA,都会强制自己按这个三参数校准流程走一遍,哪怕回测结果从年化300%降到80%,我也认了。因为实盘账户的净值曲线,才是唯一值得信服的答卷。你们有没有试过把回测滑点调到30点以上?还是说一直用默认设置自欺欺人?评论区聊聊,我看看有多少人跟我当初一样天真。
先说最坑的第一层:默认回测的滑点设置。MT5自带的回测里,滑点默认是“当前报价”模式,也就是按你VPS网络到服务器的最佳路径模拟,这玩意儿在实盘里根本不存在。我那个EA是抢突破行情的,挂单距离市价8个点,回测里每次都能精准成交,实盘里经常滑出去15到20个点,止损也被扫得更狠。后来我改成“每个tick基于真实报价”模式,再把滑点参数手动拉高到30点,回测收益直接砍掉四成。你们别心疼那点收益,这才是真实世界的残酷。这里有个关键参数:回测模式务必选“Every tick based on real ticks”,别用“1 minute OHLC”,后者会把一根K线内的波动全部抹平,滑点模拟纯粹是自欺欺人。
第二层是手续费和隔夜利息的校准。很多人回测里只填了佣金,忘了把库存费(隔夜利息)按实盘账户的合约规格填进去。我那个EA是持仓过夜型,欧美和镑美的多空库存费差得离谱,回测里每天扣2美金,实盘里实际扣4.5美金,一个月下来光利息就吃掉3%的利润。这个坑我一开始完全没意识到,直到我对比了实盘账单和回测报告里的“净利润”栏,才发现差额巨大。校准方案是:去你的经纪商官网查清楚
- 多单库存费(Long Swap)和空单库存费(Short Swap)的具体数值
- 手续费是按每手固定金额还是按百分比
第三层也是最容易被忽略的:点差模式。MT5回测里默认是“当前点差”,也就是浮动点差,但实盘里尤其是数据行情(非农、CPI公布瞬间)点差会瞬间拉宽到平时的三到五倍。我那个EA平时在欧美上跑,点差1.2左右,回测里一切正常,结果上个月非农夜,点差瞬间飙到5.8,我的EA还在按1.2的假设去计算止盈止损距离,结果一连串止损被打掉,单日回撤直接破了历史记录。这个问题的解法是:在回测设置里把点差模式改成“固定点差”,然后手动填入一个比平时高50%的数值,比如欧美填2.0,镑美填2.5。虽然会牺牲一部分回测的漂亮曲线,但至少实盘不会给你惊喜。
最后说下三参数联调的实际操作步骤。我是这么做的:
- 第一步,先用“Every tick based on real ticks”模式跑一遍,记录下原始收益和回撤
- 第二步,把滑点改成30点,手续费和隔夜利息按实盘填,点差固定为1.8(欧美),再跑一遍,对比两次结果的差值
- 第三步,把滑点继续加到50点,点差调到2.5,再跑一遍,观察曲线是否还能保持稳定上行
我现在每开发一个新EA,都会强制自己按这个三参数校准流程走一遍,哪怕回测结果从年化300%降到80%,我也认了。因为实盘账户的净值曲线,才是唯一值得信服的答卷。你们有没有试过把回测滑点调到30点以上?还是说一直用默认设置自欺欺人?评论区聊聊,我看看有多少人跟我当初一样天真。
