均线回踩突破信号指标
M60/M20 顺势过滤,MACD+ATR 确认回踩突破,箭头标进出场
MT5 真机运行截图 · 服务器把编译好的 EX5 挂到黄金 H1 图表上截的,你装上去看到的就是这个样子
#property copyright "XAUOF Indicator Workshop"
#property version "1.00"
#property strict
#property indicator_chart_window
#property indicator_buffers 6
#property indicator_plots 6
//============ 参数区 ============
input int InpFastMA = 20; // 快线周期(默认20)
input int InpSlowMA = 60; // 慢线周期(默认60)
input int InpMAMethod = 1; // 均线类型 0=SMA 1=EMA
input int InpMACDFast = 12; // MACD 快线
input int InpMACDSlow = 26; // MACD 慢线
input int InpMACDSignal = 9; // MACD 信号线
input int InpATRPeriod = 14; // ATR 周期
input double InpATRFactor = 0.8; // ATR 过滤系数(越大越严格,建议0.6~1.2)
input int InpArrowGap = 50; // 箭头离K线距离(点)
input color InpFastColor = clrDodgerBlue; // 快线颜色
input color InpSlowColor = clrOrangeRed; // 慢线颜色
input color InpBuyColor = clrLime; // 多信号箭头颜色
input color InpSellColor = clrRed; // 空信号箭头颜色
//============ 缓冲区 ============
double FastBuf[]; // 快线数据
double SlowBuf[]; // 慢线数据
double BuyBuf[]; // 多箭头
double SellBuf[]; // 空箭头
double BuyLbl[]; // 多标签
double SellLbl[]; // 空标签
//============ 指标句柄 ============
int hFastMA = INVALID_HANDLE;
int hSlowMA = INVALID_HANDLE;
int hMACD = INVALID_HANDLE;
int hATR = INVALID_HANDLE;
已显示前 35 行,共 273 行。完整源码仅对 xauusd.team VIP 开放查看与复制。
开通 VIP 查看完整源码作品说明
明白了,你把后面"说明过滤方法"时的示例代码片段误当成要加到文件里的了。那些是伪代码演示,不是完整代码的一部分。
下面是完整的、干净的、可以直接编译通过的版本:
使用说明
- 安装:复制全部代码,粘贴到 MetaEditor 里保存为
.mq5文件,点编译(F7),无错误后拖到图表上。
- 参数调整
InpFastMA = 20,InpSlowMA = 60:就是你要的 M20 和 M60 两条均线。InpMAMethod = 1:EMA 指数均线,更贴价格,做黄金推荐;改成 0 是 SMA 简单均线。InpATRFactor = 0.8:过滤强度,0.6 信号多、1.2 信号少。InpArrowGap = 50:箭头距离 K 线的点数,太挤就调大到 100。
- 信号含义
- 绿色上箭头:上升趋势回踩 M20 完成,MACD 共振,可以做多。
- 红色下箭头:下跌趋势回踩 M20 完成,MACD 共振,可以做空。
- 反向箭头出现即平仓或反手。
- 如何避免接刀
- 只在趋势方向出信号,逆势不画箭头。
- ATR 过滤震荡行情,K 线实体太小不触发。
- MACD 必须确认动能反转,单靠均线触碰不够。
- 没用 KDJ,因为趋势中 KDJ 超买超卖会误报。
- 注意:编译后拖到图表上,两条均线和箭头应该立刻出现。如果没有箭头,说明当前行情不符合条件,这是正常的——过滤严格信号才可靠。
AI 解读根据源码逐行分析写成,供参考,以实际运行为准
这是什么
这是一个趋势跟踪型信号指标,用 M20 快线和 M60 慢线判断趋势方向,当价格回踩快线后重新突破时给出箭头信号。MACD 确认动能反转,ATR 过滤震荡行情,只在趋势明确、回踩到位、动能配合时才画箭头。绿色上箭头提示做多入场,红色下箭头提示做空入场。
逻辑原理
指标在图上画两条均线:M20 快线(蓝色)和 M60 慢线(橙红色)。趋势判断靠快慢线位置关系,快线在慢线上方且慢线向上、收盘价在慢线上方时定义为上升趋势,反之为下跌趋势。
做多逻辑:上升趋势中,前一根 K 线最低点触碰或接近 M20 快线且收盘价收回快线上方(回踩完成),MACD 金叉或柱状体由负转正(动能确认),当前 K 线为阳线且收在快线上方、突破幅度超过 ATR 的 20%(避免假突破),满足所有条件后在 K 线下方画绿色上箭头。
做空逻辑:下跌趋势中,前一根 K 线最高点触碰或接近 M20 快线且收盘价收回快线下方(回踩完成),MACD 死叉或柱状体由正转负(动能确认),当前 K 线为阴线且收在快线下方、突破幅度超过 ATR 的 20%,满足所有条件后在 K 线上方画红色下箭头。
过滤机制:K 线实体小于 ATR × InpATRFactor × 0.3 时视为震荡不给信号,逆势方向不画箭头,单靠价格触碰均线不够还必须 MACD 配合。
参数说明
- InpFastMA (20):快线周期,默认 M20,回踩判断的基准线,可改为 15 或 30。
- InpSlowMA (60):慢线周期,默认 M60,趋势方向判断的基准线,可改为 50 或 100。
- InpMAMethod (1):均线类型,0 是 SMA 简单均线、1 是 EMA 指数均线,默认 EMA 更贴价格。
- InpMACDFast (12):MACD 快线周期,标准设置不建议改。
- InpMACDSlow (26):MACD 慢线周期,标准设置不建议改。
- InpMACDSignal (9):MACD 信号线周期,标准设置不建议改。
- InpATRPeriod (14):ATR 周期,用于波动过滤,默认 14 适合多数周期。
- InpATRFactor (0.8):ATR 过滤系数,数值越大信号越少越可靠,0.6 信号多、1.2 信号少,建议 0.6–1.2 之间调。
- InpArrowGap (50):箭头离 K 线的距离(点数),图上箭头太挤就调大到 100。
- InpFastColor / InpSlowColor / InpBuyColor / InpSellColor:均线和箭头的颜色,自定义显示。
怎么用
把代码复制到 MetaEditor 里保存为 .mq5 文件,按 F7 编译通过后拖到图表上。两条均线立刻显示,箭头在符合条件时才出现。绿色上箭头是做多信号,红色下箭头是做空信号。箭头出现在 K 线下方(多)或上方(空),可以作为开仓参考。反向箭头出现时可平仓或反手。
指标挂在主图,品种和周期不限,但推荐挂在趋势明显的品种(黄金、主要货币对)和 15 分钟以上周期。5 分钟以下噪音大,信号可靠性下降。
适用场景
适合趋势行情,尤其是震荡后启动的新趋势阶段。M20/M60 组合在小时级别和 4 小时级别效果较好,黄金(XAUUSD)、欧美(EURUSD)、镑美(GBPUSD)等波动适中的品种比较合适。
不适合强震荡或窄幅盘整行情,也不适合趋势末期的疲弱阶段(此时会频繁回踩快线但突破不了)。突发新闻或跳空开盘时容易触发假信号。
风险提示
这是趋势跟随类指标,信号有滞后性,箭头出现时价格已经完成回踩并重新突破,不是抄底摸顶型指标。震荡行情中快慢线会频繁交织,虽然有 ATR 和 MACD 过滤但仍可能出现假信号,建议结合更大周期趋势判断。
指标不会重绘,历史箭头位置固定,但未来 K 线走势可能让信号失效(例如突破后快速回落)。ATR 过滤只看 K 线实体大小,不看影线,剧烈波动时可能漏过有效信号或给出滑点大的信号。
MACD 金叉死叉在趋势中段可能钝化,导致信号稀少。参数默认值(M20/M60、ATR 系数 0.8)适合小时图和 4 小时图,其他周期需自行回测调整。代码里没有止损止盈逻辑,需手动设置或配合 EA 使用。
常见问题
- 这个指标会重绘吗
- 不会重绘。箭头一旦画出,历史位置不会改变。但未来走势可能让信号失效(例如突破后回落),这不是重绘而是行情变化。
- 可以用在 XAUUSD 以外的品种吗
- 可以。代码里没有品种限制,但推荐用在趋势明显、波动适中的品种如主要货币对(EURUSD、GBPUSD)、黄金、原油。极端波动品种(某些加密货币)可能需要调整 ATR 系数。
- MT4 能用吗
- 不能。这是 MQL5 代码,只能在 MT5 上运行。MT4 需要重写为 MQL4 语法。
- 参数默认值适合什么周期
- M20/M60 组合和 ATR 系数 0.8 适合 1 小时图和 4 小时图。15 分钟图可以用但信号会多一些,建议把 ATR 系数调到 1.0 提高过滤强度。日线图可以把快慢线改为 M10/M30。
- 为什么有时候趋势很明确但不出箭头
- 因为过滤条件严格。必须同时满足回踩到位、MACD 确认、突破幅度足够、K 线实体够大,缺一不可。如果信号太少,可以把 InpATRFactor 从 0.8 降到 0.6,或者把突破幅度从代码里的 0.2 改小(需修改源码)。
MA Pullback Breakout Signal Indicator for MT5
A trend-following indicator using M20/M60 dual moving averages to filter trend direction, combined with MACD momentum confirmation and ATR volatility filter. It marks pullback-breakout entry and exit signals with arrows on the chart.
A short source preview is shown above for visitors; full source, copy and compiled EX5 files are available to VIP members.
评论
还没有人评论,来抢个沙发。