止损方式的选择与回测教程正确打开方式(附实操步骤)

新帖
登录发帖
XM 推荐平台

覆盖品种全,新手友好,支持多种入金方式

CySEC(塞浦路斯) / ASIC(澳洲) / IFSC(伯利兹) · 最低入金 $5
PythonQuantm
PythonQuantm 楼主 2 小时前 浏览 4 回复 0 阅读 1 分钟
Lv.1 新手汇友 等级 Lv.1 主题 5 帖数 25 积分 1796 汇币 1382
1楼
刚把上周的一笔出金处理完,钱到账那一刻我盯着MT5的账户余额看了半天,心里想的却是另一件事——这周又有两个汇友私信问我,为什么同样的策略,我回测出来的曲线比他们好看那么多。聊到最后发现,问题基本都卡在同一个地方:止损方式选得不对,回测参数又没配对,等于白测。
先说个我早期踩过的坑。那时候做欧美,图省事,所有单子统一用固定点数止损,30个点,觉得简单粗暴。结果非农那晚镑美波动直接放大,价格瞬间扫掉止损又拉回去,我眼睁睁看着行情往我原方向走了100多点。后来才明白,固定点数止损在低波动时段够用,遇到数据市就是送菜。新手第一次接触这个话题,我建议先搞清楚三种主流止损的逻辑,再去谈回测。
固定点数止损:适合波动稳定的品种,比如欧美亚盘时段,参数设20-35点比较常见。优点是简单,缺点是遇到跳空或数据市容易被打穿。
ATR动态止损:用平均真实波幅来算,比如ATR(14)乘以1.5倍,价格波动大止损就宽,波动小就窄。这个对镑美、黄金这种脾气大的品种更友好。
结构止损:放在前高前低或者关键均线外侧,比如20日均线下方5个点。逻辑最合理,但回测时对代码要求高,新手容易写错。
搞懂逻辑之后,回测才是重头戏。我用的是MT5自带的策略测试器,配合自己写的一个小脚本。具体步骤我列一下,照着做基本不会跑偏:

  • 第一步,在EA里把止损方式做成外部参数,用枚举类型,别写死在代码里。这样回测时切换方便,不用每次改源码。
  • 第二步,点差要设成真实值。很多人回测用默认的0点差,结果实盘一开就发现止损被多扫了几次。我一般设欧美1.2、镑美1.8,黄金按25美分算。
  • 第三步,选择“每笔交易”模式,不要用“仅开盘价”。止损触发往往在盘中,用开盘价回测会漏掉大量真实扫损情况。
  • 第四步,跑三组对比:固定30点、ATR1.5倍、结构止损。同一段历史数据,同一套入场逻辑,只改止损方式。
  • 第五步,看三个指标:最大回撤、盈亏比、连续亏损次数。别只看总盈利,那个最会骗人。

我自己跑下来,欧美2023年全年数据,固定30点止损的盈亏比是1.4,ATR那组到了1.9,结构止损最高但交易次数少了三成。这里有个细节要注意,ATR周期别用默认的14,我试过7和21,7太敏感,21又太迟钝,14算是平衡点。另外回测时记得把滑点设成2-3个点,不然结果偏乐观。
还有个新手常犯的错,回测报告里“止损”那一列如果全是同一个数值,说明你的动态止损根本没生效,大概率是参数没传进去或者单位搞错了。MT5里ATR返回的是价格单位,你直接拿去当点数用,那就差之千里了。我当初就因为这个,白白跑了一晚上无效数据。
最后提一句VPS的事。如果你打算挂EA实盘,回测用的止损逻辑和VPS上的执行延迟要匹配。我用的VPS延迟在12ms左右,回测时手动加了0.5秒的模拟延迟,这样出来的止损触发次数更接近真实情况。不然回测里止损刚好没被打到,实盘因为延迟多走了两个点,就被扫了。
你们平时回测止损的时候,是习惯用固定点数还是ATR?有没有遇到过回测和实盘止损差异特别大的情况,一起聊聊。
0 回复 众裁0 复制
#1
💬
暂无回复,来抢沙发吧!
THE END
本帖内容仅供学习交流,不构成任何投资建议。外汇交易存在高风险,请谨慎参与。
← 上一帖 止损总是被打掉怎么办,有人遇到过吗?