KS Zigzag Channel
- 指标
-
Kulvinder Singh
KULVINDER SINGH
MQL5 Developer | Python Developer | Forex Trader | Software Product Creator
📞 +91-9996327555 | ✉ Kulvinder99@gmail.com | https://freesoftwaredownload.in/ - 版本: 1.20
- 更新: 21 六月 2026
- 激活: 5
KS ZigZag Channels 指标是一款专为 MetaTrader 5 (MQL5) 设计的自定义指标。
它绘制了呈“之字形”(ZigZag)的关键点连线,用于连接市场中重要的波段高点和低点;同时,它还在每个之字形波段周围绘制了类似通道的边界线(即上下偏差带)。该指标旨在过滤市场噪音,突显潜在的趋势结构,并根据历史价格相对于主之字形线的偏差情况,提供动态的支撑与阻力区域参考。
核心逻辑与检测方法
与传统的基于百分比或点数计算的之字形指标不同,此版本采用了一种“滚动窗口”的计算方法(其窗口大小由“Length”参数控制,默认为 100 根 K 线):
它通过一个状态机进行追踪(利用 g_os[] 缓冲区记录状态:0 = 正在寻找潜在的顶部/上升波段;1 = 正在寻找潜在的底部/下降波段)。
当满足以下条件时,一个新的底部关键点(Pivot)即被确认:在此前处于“上升”状态的前提下,当前时间点回溯至“Length”根 K 线之前的收盘价,跌破了过去“Length”根 K 线范围内的最低收盘价。
当满足以下条件时,一个新的顶部关键点即被确认:在此前处于“下降”状态的前提下,当前时间点回溯至“Length”根 K 线之前的收盘价,升破了过去“Length”根 K 线范围内的最高收盘价。
这种检测机制会产生具有“回顾性”(即“回溯重绘”/“Repainting”)的关键点——这意味着随着新数据的不断涌入,此前已确定的历史关键点位置可能会发生变动。
图表上的显示内容
对于每一个已确认的波段(即介于两个类型相反的连续关键点之间的一段走势):
中线(实线;默认为橙色系,对应参数“MidColor”):连接前一个关键点的价格 → 当前关键点的价格。这即是主要的之字形(ZigZag)连线。
上边界线(虚线;默认为红色系,对应参数“UpperColor”):一条向上平移的平行线,其上移幅度等于该波段运行期间所观测到的最大向上偏差值——即该波段内任意一根 K 线的最高价/收盘价,距离插值生成的中线所达到的最大向上距离。
下边界线(虚线;默认为蓝色,对应参数“LowerColor”):一条向下平移的平行线,其下移幅度等于该波段运行期间所观测到的最大向下偏差值——即该波段内任意一根 K 线的最低价/收盘价,距离插值生成的中线所达到的最大向下距离。
这三条线共同构成了一个包围着每一个历史之字形波段的“通道”。
图表上的小圆点或箭头(颜色为“道奇蓝”)用于精准标记出每一个关键点(即作为波段高点/低点依据的具体 K 线位置)。
当参数“ShowLabels”设置为“true”时,关键点位置旁将显示相应的价格数值标签(可选功能)。 最后一部分 —— 延伸功能
当参数 `ExtendLast` 设置为 `true`(默认值)时,该指标会将最近形成的通道向前延伸至当前K线处:
它以当前波段(leg)方向上最后一个已确认的“枢轴点”(pivot)作为锚定点。
它基于该锚定枢轴点的价格,计算至当前收盘价之间的线性插值。
随后,它计算当前波段迄今为止所有K线中,相对于中轨的最大向上/向下偏离幅度。
绘制延伸后的中轨、上轨及下轨线(指标名称前缀为 "KSZzE_"),并向右侧无限延伸显示(即 `ray = true` 模式)。
这形成了一个动态且具有前瞻性的通道,交易者常利用它来实时预判潜在的支撑位/阻力位,或潜在的反转区域。
主要输入参数与控制选项
Length (100):回溯周期 —— 数值越大,识别出的枢轴点越少,但其重要性越高。
ExtendLast (true):是否将当前未完成的波段向前延伸显示。
ShowExt (true):是否显示上轨/下轨偏离线(即实际的“通道”边界)。
ShowLabels (true):是否在枢轴点位置显示价格标签。
提供三种可自定义的颜色,分别用于上轨、中轨及下轨线。
典型应用场景
识别主要的波段结构(Swing Structure)及趋势方向。
将通道视为动态的支撑/阻力区域(价格走势常在靠近上轨或下轨边界处产生反应)。
在明确的波段枢轴点之间,更便捷地应用斐波那契数列、谐波形态、通道工具或其他绘图分析工具。
当价格在当前实时波段中突破或受阻于延伸通道时,识别潜在的反转信号。
注意:由于该指标具有回顾性,且会动态重新计算枢轴点,因此历史绘制的线条可能会发生轻微移动(即“重绘”现象)——这是大多数“之字转向”(ZigZag)类指标的典型特性。因此,在进行实时入场交易决策时,建议将其与其他辅助确认工具结合使用,而非单独依赖此指标进行判断。
它绘制了呈“之字形”(ZigZag)的关键点连线,用于连接市场中重要的波段高点和低点;同时,它还在每个之字形波段周围绘制了类似通道的边界线(即上下偏差带)。该指标旨在过滤市场噪音,突显潜在的趋势结构,并根据历史价格相对于主之字形线的偏差情况,提供动态的支撑与阻力区域参考。
核心逻辑与检测方法
与传统的基于百分比或点数计算的之字形指标不同,此版本采用了一种“滚动窗口”的计算方法(其窗口大小由“Length”参数控制,默认为 100 根 K 线):
它通过一个状态机进行追踪(利用 g_os[] 缓冲区记录状态:0 = 正在寻找潜在的顶部/上升波段;1 = 正在寻找潜在的底部/下降波段)。
当满足以下条件时,一个新的底部关键点(Pivot)即被确认:在此前处于“上升”状态的前提下,当前时间点回溯至“Length”根 K 线之前的收盘价,跌破了过去“Length”根 K 线范围内的最低收盘价。
当满足以下条件时,一个新的顶部关键点即被确认:在此前处于“下降”状态的前提下,当前时间点回溯至“Length”根 K 线之前的收盘价,升破了过去“Length”根 K 线范围内的最高收盘价。
这种检测机制会产生具有“回顾性”(即“回溯重绘”/“Repainting”)的关键点——这意味着随着新数据的不断涌入,此前已确定的历史关键点位置可能会发生变动。
图表上的显示内容
对于每一个已确认的波段(即介于两个类型相反的连续关键点之间的一段走势):
中线(实线;默认为橙色系,对应参数“MidColor”):连接前一个关键点的价格 → 当前关键点的价格。这即是主要的之字形(ZigZag)连线。
上边界线(虚线;默认为红色系,对应参数“UpperColor”):一条向上平移的平行线,其上移幅度等于该波段运行期间所观测到的最大向上偏差值——即该波段内任意一根 K 线的最高价/收盘价,距离插值生成的中线所达到的最大向上距离。
下边界线(虚线;默认为蓝色,对应参数“LowerColor”):一条向下平移的平行线,其下移幅度等于该波段运行期间所观测到的最大向下偏差值——即该波段内任意一根 K 线的最低价/收盘价,距离插值生成的中线所达到的最大向下距离。
这三条线共同构成了一个包围着每一个历史之字形波段的“通道”。
图表上的小圆点或箭头(颜色为“道奇蓝”)用于精准标记出每一个关键点(即作为波段高点/低点依据的具体 K 线位置)。
当参数“ShowLabels”设置为“true”时,关键点位置旁将显示相应的价格数值标签(可选功能)。 最后一部分 —— 延伸功能
当参数 `ExtendLast` 设置为 `true`(默认值)时,该指标会将最近形成的通道向前延伸至当前K线处:
它以当前波段(leg)方向上最后一个已确认的“枢轴点”(pivot)作为锚定点。
它基于该锚定枢轴点的价格,计算至当前收盘价之间的线性插值。
随后,它计算当前波段迄今为止所有K线中,相对于中轨的最大向上/向下偏离幅度。
绘制延伸后的中轨、上轨及下轨线(指标名称前缀为 "KSZzE_"),并向右侧无限延伸显示(即 `ray = true` 模式)。
这形成了一个动态且具有前瞻性的通道,交易者常利用它来实时预判潜在的支撑位/阻力位,或潜在的反转区域。
主要输入参数与控制选项
Length (100):回溯周期 —— 数值越大,识别出的枢轴点越少,但其重要性越高。
ExtendLast (true):是否将当前未完成的波段向前延伸显示。
ShowExt (true):是否显示上轨/下轨偏离线(即实际的“通道”边界)。
ShowLabels (true):是否在枢轴点位置显示价格标签。
提供三种可自定义的颜色,分别用于上轨、中轨及下轨线。
典型应用场景
识别主要的波段结构(Swing Structure)及趋势方向。
将通道视为动态的支撑/阻力区域(价格走势常在靠近上轨或下轨边界处产生反应)。
在明确的波段枢轴点之间,更便捷地应用斐波那契数列、谐波形态、通道工具或其他绘图分析工具。
当价格在当前实时波段中突破或受阻于延伸通道时,识别潜在的反转信号。
注意:由于该指标具有回顾性,且会动态重新计算枢轴点,因此历史绘制的线条可能会发生轻微移动(即“重绘”现象)——这是大多数“之字转向”(ZigZag)类指标的典型特性。因此,在进行实时入场交易决策时,建议将其与其他辅助确认工具结合使用,而非单独依赖此指标进行判断。
