前两天有个做欧美短线的小兄弟给我看他的MT5报告,说同一个EA,2021到2023回测年化能跑到四十几,实盘跑了三个月反而回撤了十几个点。他问我是不是平台动了手脚。我让他把回测的点差设置截图发过来,一看,固定点差1.0,连佣金都没加。我说你先别怪平台,你这个回测从第一步就是失真的。
很多朋友刚接触EA的时候,注意力全放在均线参数、止损止盈、加仓倍数上,觉得逻辑对了就能赚钱。其实回测和实盘之间的鸿沟,一大半是交易成本造成的。尤其是做欧美、镑美这种主要货币对,或者黄金这种点差波动大的品种,点差建模错了,回测曲线再漂亮也是假的。我自己的习惯是,拿到任何一个EA,先不看盈利曲线,先看点差和滑点这两块是怎么设的。
MT5的回测点差有三种模式:当前点差、固定点差、自定义点差。 新手最常犯的错就是用“当前点差”,以为这是实时的就准。问题是回测历史行情的时候,服务器返回的当前点差是你现在这个时间点的,不是当年的。你拿2024年的低点差环境去跑2018年的行情,结果自然虚高。固定点差更坑,很多人随手填个1.0或者1.5,但欧美在伦敦开盘和纽约午盘的点差完全不是一个量级。
我一般这么处理:
说个我自己的教训。2022年我写过一个镑美突破EA,回测用固定点差1.5,年化收益38%,最大回撤9%。我当时觉得稳了,直接上实盘。结果第一个月就发现,每次伦敦开盘那一下,实际成交点差经常跳到2.8到3.2,我的止损被扫得莫名其妙。后来我把回测点差改成按小时分段,伦敦盘2.8,亚洲盘1.6,纽约午盘2.2,再跑一遍,年化直接掉到11%,最大回撤变成22%。这才是真实情况。如果我一开始就这么建模,根本不会把这个EA放进实盘。
还有一点容易被忽略的是隔夜利息。你做欧美短线可能影响不大,但如果是持有几天甚至几周的策略,隔夜利息在回测里不体现,实盘会一点点吃掉利润。MT5的回测报告里有swap这一栏,记得打开看。
所以我现在看一个EA的回测,第一眼不是看盈利因子,而是看点差和佣金设置是不是贴近实盘。如果这两个对不上,后面的夏普比率、恢复因子都不用看了,全是幻觉。回测的意义不是证明策略能赚钱,而是用最接近实盘的成本去证伪。把点差建模做扎实,你在实盘里遇到的意外会少一大半。
你们平时回测欧美或者黄金的时候,点差是填固定值还是用真实tick?有没有遇到过回测和实盘点差差一倍的情况?在下面聊聊你的处理方式。
很多朋友刚接触EA的时候,注意力全放在均线参数、止损止盈、加仓倍数上,觉得逻辑对了就能赚钱。其实回测和实盘之间的鸿沟,一大半是交易成本造成的。尤其是做欧美、镑美这种主要货币对,或者黄金这种点差波动大的品种,点差建模错了,回测曲线再漂亮也是假的。我自己的习惯是,拿到任何一个EA,先不看盈利曲线,先看点差和滑点这两块是怎么设的。
MT5的回测点差有三种模式:当前点差、固定点差、自定义点差。 新手最常犯的错就是用“当前点差”,以为这是实时的就准。问题是回测历史行情的时候,服务器返回的当前点差是你现在这个时间点的,不是当年的。你拿2024年的低点差环境去跑2018年的行情,结果自然虚高。固定点差更坑,很多人随手填个1.0或者1.5,但欧美在伦敦开盘和纽约午盘的点差完全不是一个量级。
我一般这么处理:
- 第一步,去经纪商官网或者MT5品种规格里,查清楚这个品种的平均点差和最大点差。比如我的账户欧美平均1.2,非农前后能到3.5那回测就不能只填1.2。
- 第二步,在MT5策略测试器里选自定义点差,然后根据你交易的时段来分段设置。具体做法是用“Every tick based on real ticks”模式,这个模式会调用经纪商提供的tick级历史数据,里面自带当时的点差。
- 第三步,把佣金算进去。很多ECN账户点差看着低,但每手要收7美金佣金,折合欧美大概是0.7个点。你回测不填佣金,等于每单白赚0.7个点,一百单就是70个点,足够把一个亏损策略跑成盈利。
- 第四步,加滑点模拟。MT5本身不直接提供滑点设置,我的土办法是在EA代码里加一个随机延迟和平移,或者在自定义点差的基础上再上浮20%到30%,用来覆盖真实成交时的偏差。
说个我自己的教训。2022年我写过一个镑美突破EA,回测用固定点差1.5,年化收益38%,最大回撤9%。我当时觉得稳了,直接上实盘。结果第一个月就发现,每次伦敦开盘那一下,实际成交点差经常跳到2.8到3.2,我的止损被扫得莫名其妙。后来我把回测点差改成按小时分段,伦敦盘2.8,亚洲盘1.6,纽约午盘2.2,再跑一遍,年化直接掉到11%,最大回撤变成22%。这才是真实情况。如果我一开始就这么建模,根本不会把这个EA放进实盘。
还有一点容易被忽略的是隔夜利息。你做欧美短线可能影响不大,但如果是持有几天甚至几周的策略,隔夜利息在回测里不体现,实盘会一点点吃掉利润。MT5的回测报告里有swap这一栏,记得打开看。
所以我现在看一个EA的回测,第一眼不是看盈利因子,而是看点差和佣金设置是不是贴近实盘。如果这两个对不上,后面的夏普比率、恢复因子都不用看了,全是幻觉。回测的意义不是证明策略能赚钱,而是用最接近实盘的成本去证伪。把点差建模做扎实,你在实盘里遇到的意外会少一大半。
你们平时回测欧美或者黄金的时候,点差是填固定值还是用真实tick?有没有遇到过回测和实盘点差差一倍的情况?在下面聊聊你的处理方式。
