超级趋势双通道指标
绿色支撑通道+粉色阻力通道,台阶式跳跃,带填充背景显示多空区域
MT5 真机运行截图 · 服务器把编译好的 EX5 挂到黄金 H1 图表上截的,你装上去看到的就是这个样子
#property copyright "XAUOF 指标工坊"
#property version "1.00"
#property strict
#property indicator_chart_window
#property indicator_buffers 6
#property indicator_plots 4
// 绿色支撑通道
#property indicator_type1 DRAW_LINE
#property indicator_color1 clrLimeGreen
#property indicator_width1 2
#property indicator_label1 "支撑通道"
// 粉色阻力通道
#property indicator_type2 DRAW_LINE
#property indicator_color2 clrHotPink
#property indicator_width2 2
#property indicator_label2 "阻力通道"
// 多头区域填充(支撑线下边界到支撑线)
#property indicator_type3 DRAW_FILLING
#property indicator_color3 clrPaleGreen
#property indicator_label3 "多头区域"
// 空头区域填充(阻力线到阻力线上边界)
#property indicator_type4 DRAW_FILLING
#property indicator_color4 clrMistyRose
#property indicator_label4 "空头区域"
//--- 输入参数
input int ATR_Period = 10; // ATR 周期(控制通道灵敏度,推荐 10-20)
input double ATR_Multiplier = 3.0; // ATR 倍数(控制通道宽度,推荐 2.5-4.0)
input int Channel_Smooth = 5; // 通道平滑周期(数值越大台阶越宽,推荐 3-10)
//--- 指标缓冲区
已显示前 35 行,共 183 行。完整源码仅对 xauusd.team VIP 开放查看与复制。
开通 VIP 查看完整源码作品说明
错误原因是 MQL5 中 PLOT_FILL_BASE 这个常量不存在。MQL5 实现填充效果需要用 DRAW_FILLING 类型,并且填充的两个缓冲区必须在 SetIndexBuffer 时按顺序绑定,填充会自动发生在相邻的两个 DRAW_FILLING 缓冲区之间。
修正方案:将填充缓冲区调整为与基准线配对,绿色填充在支撑线下方,粉色填充在阻力线上方。
使用说明
安装方法
- 将代码保存为
SuperTrendChannel.mq5,放到 MT5 数据文件夹的MQL5\Indicators目录 - 在 MetaEditor 中打开文件,点击编译按钮(F7),确保编译成功无错误
- 重启 MT5 或在导航器中右键刷新,在"自定义指标"里找到本指标
- 拖到黄金 1 分钟图上即可看到绿色和粉色双通道
参数调节
- ATR_Period(ATR 周期):默认 10,数值越小通道反应越快但毛刺多,越大越平滑但滞后;黄金波动大时可用 8-12
- ATR_Multiplier(ATR 倍数):默认 3.0,控制通道宽度;数值越大通道越宽、信号越少但越可靠,推荐 2.5-4.0
- Channel_Smooth(通道平滑周期):默认 5,控制台阶宽度;数值越大台阶越宽、跳跃越少,推荐 3-10
信号判断
- 做多信号:价格突破绿色支撑通道向上,进入绿色填充区域时考虑做多,止损放绿色通道下方
- 做空信号:价格跌破粉色阻力通道向下,进入粉色填充区域时考虑做空,止损放粉色通道上方
- 震荡区:价格在两条通道之间时为震荡,建议观望或做区间交易
- 通道跳跃:台阶式跳跃代表市场结构变化,跳跃时刻需要重新评估持仓
注意事项
- 编译时如果提示
PLOT_FILL_BASE错误,说明使用了不存在的常量,本版本已修正为 MQL5 标准的DRAW_FILLING实现方式 - 填充区域是通过
DRAW_FILLING自动在相邻缓冲区间填充实现的,绿色区域在支撑线下方,粉色区域在阻力线上方 - 本指标属于趋势跟踪类型,在震荡行情中会频繁穿越通道产生假信号,建议配合成交量或其他过滤指标
- 黄金 1 分钟图波动剧烈,建议结合更高时间框架(5 分钟、15 分钟)的通道方向过滤信号
- 台阶效果是通过变化阈值实现的,如果觉得台阶太窄或太宽,调整
Channel_Smooth参数即可
AI 解读根据源码逐行分析写成,供参考,以实际运行为准
这是什么
这是一个基于 ATR(真实波幅)动态计算的双通道趋势指标,在图表上画出绿色支撑线和粉色阻力线。通道采用台阶式跳跃,不会频繁抖动;同时用淡绿和淡粉背景填充多空区域,方便识别当前市场结构。价格突破绿色通道向上进入多头区,跌破粉色通道向下进入空头区,在两条通道之间时为震荡。
逻辑原理
指标先用 ATR 衡量市场波动幅度,然后在指定平滑周期(默认 5 根 K 线)内找最高价和最低价,算出中点作为通道中轴。中轴上下各加减 ATR 倍数的一半(默认 3 倍)得到阻力线和支撑线。
关键在于台阶效果:新计算的通道值只有和上一根相差超过 0.5 倍 ATR 时才会跳跃,否则保持不变。这样通道会呈现阶梯状,减少毛刺。填充区域是从支撑线向下延伸 2 倍通道宽度的淡绿色,从阻力线向上延伸 2 倍通道宽度的淡粉色,用于直观显示多空控盘区。
参数说明
- ATR_Period(默认 10):ATR 周期。数值越小通道反应越快但噪音多,越大越平滑但滞后。黄金等波动大的品种建议 8-12,平稳品种可用 14-20。
- ATR_Multiplier(默认 3.0):ATR 倍数,控制通道宽度。数值越大通道越宽、信号越少但可靠性高,推荐 2.5-4.0。小于 2.5 会频繁突破,大于 4.0 可能错过机会。
- Channel_Smooth(默认 5):通道平滑周期。数值越大台阶越宽、跳跃越少,推荐 3-10。设为 1 就几乎没有台阶效果。
怎么用
将源码保存为 SuperTrendChannel.mq5,放到 MT5 数据文件夹的 MQL5\Indicators 目录,在 MetaEditor 里编译无误后重启 MT5。在导航器的"自定义指标"里找到它,拖到图表上即可。建议用在黄金 1 分钟图,也可以在 5 分钟、15 分钟等周期测试。
信号判断:价格突破绿色支撑线向上进入淡绿填充区时考虑做多,止损放支撑线下方;价格跌破粉色阻力线向下进入淡粉填充区时考虑做空,止损放阻力线上方。价格在两条通道之间时为震荡区,建议观望或做区间交易。通道发生台阶跳跃时代表市场结构变化,需重新评估持仓。
适用场景
适合趋势明显、波动较大的品种,如黄金、原油、主要外汇货币对。在单边行情中能较好跟踪趋势,台阶效果减少了频繁止损。推荐配合 1 分钟、5 分钟等短周期使用,同时参考更高时间框架(15 分钟、1 小时)的通道方向过滤信号。
不适合低波动的震荡行情,此时价格会频繁穿越通道产生假信号。不适合跳空严重的品种或时段(如周一开盘、重大新闻发布时),ATR 会被异常拉大导致通道失真。
风险提示
- 滞后性:ATR 和平滑周期都是基于历史数据,通道跳跃总是在行情走出来之后,无法预测拐点。
- 震荡假信号:在横盘或窄幅震荡时,价格会反复突破通道又回撤,导致频繁进出场。建议结合成交量或其他过滤指标。
- 台阶效应的双面性:台阶减少了毛刺,但也可能延迟对市场变化的反应。如果行情快速反转,通道需要几根 K 线才能跟上。
- 填充区边界任意:代码里填充区边界是通道宽度的 2 倍延伸,这个数值没有理论依据,只是为了显示效果。不要把填充区边界当作实际支撑阻力位。
- 参数敏感:ATR 周期和倍数对不同品种、不同周期的效果差异很大,默认值未必适合你的交易标的,需要回测调整。
常见问题
- 这个指标会重绘吗
- 不会。通道值是基于当前 K 线及之前的历史数据计算的,K 线收盘后通道值不会改变。但未收盘的当前 K 线通道会随价格波动实时调整。
- 台阶效果是怎么实现的,能关闭吗
- 代码里通过判断新计算值与上一根差距是否超过 0.5 倍 ATR 来决定是否跳跃。如果想要更敏感的通道,把 Channel_Smooth 参数改小或把代码里的 0.5 改成更小的数值,改成 0 就完全没有台阶。
- 默认参数适合什么周期
- 默认参数(ATR 周期 10、倍数 3.0、平滑 5)在黄金 1 分钟和 5 分钟图上测试过,适合快速波动行情。更高周期或更平稳的品种需要调大 ATR 周期到 14-20,倍数也可以适当放宽到 3.5-4.0。
- 可以用在 XAUUSD 以外的品种吗
- 可以。代码没有品种限制,但因为 ATR 是绝对波幅,不同品种的点值和波动特征差异大,参数需要重新优化。外汇货币对、原油、指数等都可以用,股票因为跳空多可能效果打折扣。
- MT4 能用吗
- 不能直接用。这是 MQL5 代码,MT4 使用 MQL4 语言,函数和语法不同。如果要在 MT4 上用需要重写代码,把 iATR 改成 MT4 的 ATR 函数,把 SetIndexBuffer 和 PlotIndexSetInteger 改成 MT4 的缓冲区设置方式。
SuperTrend Dual Channel Indicator for MT5
A dual-channel trend indicator based on ATR, displaying green support and pink resistance channels with stepped transitions. Filled background zones highlight bullish and bearish areas, suitable for trend-following on volatile instruments like XAUUSD.
A short source preview is shown above for visitors; full source, copy and compiled EX5 files are available to VIP members.
评论
还没有人评论,来抢个沙发。