凌晨两点四十,MT5的警报又响了,镑美H1的布林带上下轨收得只剩不到20个点,我盯着屏幕把EA日志翻出来看——这周第三次因为止损没跟着带宽收窄,被一根假突破扫掉之后行情才真正启动。索性爬起来把这段时间踩过的坑整理一下,顺便说说我现在用的布林带收口配合ATR止损的思路。
先说最朴素的方案,就是布林带中轨对穿止损。价格从中轨上方回落,止损直接挂中轨下方固定几个点。优点是规则简单,EA写起来几行代码就搞定,回测跑欧美2019到2023的数据,胜率看着还行。但坑也明显:带宽收口阶段中轨几乎走平,价格贴着中轨来回蹭,止损被反复触发,光镑美H1这一段滑点加止损损耗就吃掉不少利润。我早期就是这么干的,账户曲线全是锯齿。
后来换成固定点数止损,比如镑美统一30个点。好处是简单粗暴,不用管波动率。但问题更致命——收口之后往往跟着变盘,波动率一旦放大,30个点根本不够看,一根H1的实体K线就能把你扫出去,然后行情头也不回地走。这个方案我只用了不到两周就放弃了,回测里看着还行,实盘遇到数据行情直接原形毕露。
现在用的是布林带收口识别 + ATR动态止损,具体步骤:
这个方案的好处是止损会跟着波动率走,收口阶段ATR低,止损自然收得紧,变盘后ATR放大,止损也跟着放宽,不会被正常回撤扫掉。缺点也有:ATR参数需要按品种调,镑美用14,黄金我一般用10,欧美用20,参数不统一EA就得多套一层品种判断,写起来麻烦。另外VPS延迟高的时候,iATR读取偶尔会慢半拍,我遇到过两次止损没及时更新的情况,后来把VPS换到伦敦节点才稳下来。
还有个坑要提醒,布林带周期别乱改,默认20就行,改成14或者30回测数据会好看,实盘容易过拟合。我拿欧美2020到2024的数据跑过对比,20周期配合ATR(14)的盈亏比大概在1.8左右,改成14周期能到2.1,但样本外表现直接掉到1.3,典型的过拟合。
你们在做收口突破的时候,ATR倍数一般给多少?我目前镑美用1.5,感觉偶尔还是偏紧,有经验的朋友一起聊聊参数。
补充个小细节:ATR周期我后来从默认的14改成了20,收口阶段止损不容易被单根K线打掉。另外记得给ATR乘数留个下限,不然带宽缩到极致时止损会贴太近。
先说最朴素的方案,就是布林带中轨对穿止损。价格从中轨上方回落,止损直接挂中轨下方固定几个点。优点是规则简单,EA写起来几行代码就搞定,回测跑欧美2019到2023的数据,胜率看着还行。但坑也明显:带宽收口阶段中轨几乎走平,价格贴着中轨来回蹭,止损被反复触发,光镑美H1这一段滑点加止损损耗就吃掉不少利润。我早期就是这么干的,账户曲线全是锯齿。
后来换成固定点数止损,比如镑美统一30个点。好处是简单粗暴,不用管波动率。但问题更致命——收口之后往往跟着变盘,波动率一旦放大,30个点根本不够看,一根H1的实体K线就能把你扫出去,然后行情头也不回地走。这个方案我只用了不到两周就放弃了,回测里看着还行,实盘遇到数据行情直接原形毕露。
现在用的是布林带收口识别 + ATR动态止损,具体步骤:
- 先用布林带判断收口状态,我一般看带宽(上轨-下轨)低于过去20根K线均值的70%作为收口信号,这个阈值在MT5里可以用iBands配合数组算
- 收口确认后不急着进场,等价格突破上轨或下轨,同时ATR(14)开始抬头,才视为有效突破
- 止损挂在入场价反向1.5倍ATR(14)的位置,EA里用iATR实时读取,每根新K线更新一次
- 如果带宽继续收窄到极致,我会把仓位减半,因为这种时候假突破概率明显上升
这个方案的好处是止损会跟着波动率走,收口阶段ATR低,止损自然收得紧,变盘后ATR放大,止损也跟着放宽,不会被正常回撤扫掉。缺点也有:ATR参数需要按品种调,镑美用14,黄金我一般用10,欧美用20,参数不统一EA就得多套一层品种判断,写起来麻烦。另外VPS延迟高的时候,iATR读取偶尔会慢半拍,我遇到过两次止损没及时更新的情况,后来把VPS换到伦敦节点才稳下来。
还有个坑要提醒,布林带周期别乱改,默认20就行,改成14或者30回测数据会好看,实盘容易过拟合。我拿欧美2020到2024的数据跑过对比,20周期配合ATR(14)的盈亏比大概在1.8左右,改成14周期能到2.1,但样本外表现直接掉到1.3,典型的过拟合。
你们在做收口突破的时候,ATR倍数一般给多少?我目前镑美用1.5,感觉偶尔还是偏紧,有经验的朋友一起聊聊参数。
补充个小细节:ATR周期我后来从默认的14改成了20,收口阶段止损不容易被单根K线打掉。另外记得给ATR乘数留个下限,不然带宽缩到极致时止损会贴太近。
