You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Pine Script中实现多Zig Zag线条单独开关功能?

多结构Zig Zag线条单独显示控制解决方案(Pine Script v5)

核心实现思路

  • 给每条Zig Zag线条添加独立的布尔型输入开关
  • 绘制线条时根据开关状态决定是否渲染对应线条

关键代码修改

假设你已有三条Zig Zag线的计算逻辑(比如zigzag_htf、zigzag_mtf、zigzag_ltf),按以下方式修改:

//@version=5
indicator("Multi Structure Zig Zag", overlay=true)

// 新增独立显示开关,归类到同一设置组
show_htf = input.bool(true, title="显示 Structure HTF", group="线条显示控制")
show_mtf = input.bool(true, title="显示 Structure MTF", group="线条显示控制")
show_ltf = input.bool(true, title="显示 Structure LTF", group="线条显示控制")

// --- 此处保留你原有的三条Zig Zag计算逻辑 ---
// 示例计算(替换为你的实际代码)
zigzag_htf = ta.zigzag(close, input.int(20, "HTF 深度"), input.int(5, "HTF 偏差"))
zigzag_mtf = ta.zigzag(close, input.int(15, "MTF 深度"), input.int(3, "MTF 偏差"))
zigzag_ltf = ta.zigzag(close, input.int(10, "LTF 深度"), input.int(2, "LTF 偏差"))
// --- 计算逻辑结束 ---

// 根据开关状态绘制对应线条
if show_htf
    plot(zigzag_htf, color=color.blue, title="Structure HTF", linewidth=2)
if show_mtf
    plot(zigzag_mtf, color=color.red, title="Structure MTF", linewidth=2)
if show_ltf
    plot(zigzag_ltf, color=color.green, title="Structure LTF", linewidth=2)

动态线条(line.new)的适配方案

如果你的Zig Zag是用line.new()动态生成拐点线条,需在创建/删除时关联开关:

// 示例:HTF动态线条的开关控制
var line htf_line = na
if show_htf and 你的拐点触发条件 // 替换为你实际的拐点判断逻辑
    htf_line := line.new(bar_index[1], zigzag_htf[1], bar_index, zigzag_htf, color=color.blue)
else if not show_htf and not na(htf_line)
    line.delete(htf_line)
    htf_line := na

优化提示

  • 将开关放在同一group下可让指标设置面板更规整
  • 可给每条线的颜色、线宽也添加独立输入,进一步提升自定义性

内容的提问来源于stack exchange,提问作者self2point0

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 16:50:18