大多数人以为均线交叉策略失效是因为市场变了,我回测了上百组参数后才发现,问题八成出在MT5的建模质量和参数耦合上,跟策略本身没太大关系。
先说我踩过的第一个坑。去年用MT5给黄金(XAUUSD)写了一个最经典的[bi]MA50上穿MA200做多、下穿做空的EA,M15周期,回测2019到2023年,净利润曲线漂亮得像假的。结果一上模拟盘,头两周就回撤了将近18%。后来把回测的建模模式从“仅开盘价”改成“每笔订单”,同样的参数,净利润直接缩水了四成。这就是第一个陷阱:黄金的点差和滑点在M15周期上对交叉信号的影响极大,用开盘价建模等于给策略开了美颜滤镜。
第二个陷阱是参数耦合。很多人调均线周期的时候,只盯着[bi]快线和慢线的差值,比如从10/30改到20/60,觉得只是慢了半拍。但在MT5里,均线周期和止损距离、仓位计算是联动的。快线周期拉长,交叉信号变少,如果止损还是固定30个点,那单笔亏损占比就会因为信号频率下降而被放大。我做过一组对比,在黄金H1上,MA10/50配40点止损,和MA20/100配40点止损,前者年化收益12%但最大回撤22%,后者年化9%但最大回撤只有13%。没有绝对优劣,但如果你用的是固定手数,慢线组合的风险调整后收益明显更稳。
再说说死亡交叉在EA里的一个隐蔽问题。黄金在2020年8月那波见顶后,日线级别出现了连续三次死亡交叉,但每次交叉后价格只跌了不到50美元就反弹。我当时的EA在第二次交叉时加仓了,结果被扫。后来复盘发现,单纯用均线交叉做空黄金,在多头大趋势里的假信号率超过60%。我的修正方案是加一个ATR过滤:只有当交叉发生时的ATR(14)高于过去20根K线的均值,才允许开仓。这个改动让死亡交叉的胜率从38%提到了51%,代价是错过了2021年初那波小级别的下跌。
具体修正步骤我列一下,都是实盘跑过半年的:
最后说个心态上的坑。均线交叉策略最难受的不是连续止损,而是你明明知道这个交叉大概率是假的,但EA还是按规则开了仓。我现在的做法是允许EA在信号强度低于阈值时跳过交易,比如快慢线交叉角度小于15度就不做。这个改动让交易频率降了三分之一,但盈亏比从1.2提到了1.8。你们在黄金EA上有没有遇到过类似假信号扎堆的情况?是硬扛还是加了什么过滤条件?
先说我踩过的第一个坑。去年用MT5给黄金(XAUUSD)写了一个最经典的[bi]MA50上穿MA200做多、下穿做空的EA,M15周期,回测2019到2023年,净利润曲线漂亮得像假的。结果一上模拟盘,头两周就回撤了将近18%。后来把回测的建模模式从“仅开盘价”改成“每笔订单”,同样的参数,净利润直接缩水了四成。这就是第一个陷阱:黄金的点差和滑点在M15周期上对交叉信号的影响极大,用开盘价建模等于给策略开了美颜滤镜。
第二个陷阱是参数耦合。很多人调均线周期的时候,只盯着[bi]快线和慢线的差值,比如从10/30改到20/60,觉得只是慢了半拍。但在MT5里,均线周期和止损距离、仓位计算是联动的。快线周期拉长,交叉信号变少,如果止损还是固定30个点,那单笔亏损占比就会因为信号频率下降而被放大。我做过一组对比,在黄金H1上,MA10/50配40点止损,和MA20/100配40点止损,前者年化收益12%但最大回撤22%,后者年化9%但最大回撤只有13%。没有绝对优劣,但如果你用的是固定手数,慢线组合的风险调整后收益明显更稳。
再说说死亡交叉在EA里的一个隐蔽问题。黄金在2020年8月那波见顶后,日线级别出现了连续三次死亡交叉,但每次交叉后价格只跌了不到50美元就反弹。我当时的EA在第二次交叉时加仓了,结果被扫。后来复盘发现,单纯用均线交叉做空黄金,在多头大趋势里的假信号率超过60%。我的修正方案是加一个ATR过滤:只有当交叉发生时的ATR(14)高于过去20根K线的均值,才允许开仓。这个改动让死亡交叉的胜率从38%提到了51%,代价是错过了2021年初那波小级别的下跌。
具体修正步骤我列一下,都是实盘跑过半年的:
- 第一步,把MT5回测的建模模式强制设为“每笔订单”,黄金品种还要在“点差”里手动填入历史平均点差,别用“当前点差”。
- 第二步,在EA里加一个均线斜率过滤:快线交叉时的斜率必须大于过去N根K线的平均斜率,否则忽略信号。我用的是MA50的5根斜率均值,N设10。
- 第三步,止损不要用固定点数,改成ATR的1.5倍,同时仓位按账户净值的0.5%反推手数。这样慢线组合和快线组合的风险暴露就拉平了。
- 第四步,每季度做一次参数敏感性测试,把快线周期在±5的范围内跑一遍,如果收益曲线出现断崖式下跌,说明参数过拟合了,直接换组合。
最后说个心态上的坑。均线交叉策略最难受的不是连续止损,而是你明明知道这个交叉大概率是假的,但EA还是按规则开了仓。我现在的做法是允许EA在信号强度低于阈值时跳过交易,比如快慢线交叉角度小于15度就不做。这个改动让交易频率降了三分之一,但盈亏比从1.2提到了1.8。你们在黄金EA上有没有遇到过类似假信号扎堆的情况?是硬扛还是加了什么过滤条件?
