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

如何在PineScript数组控制代码中添加input.bool实现开关控制?

在PineScript中添加开关控制指标线条输出的方法

步骤1:添加开关输入项

把input.bool放在脚本最顶部(指标声明语句之后,任何逻辑代码之前),这样用户就能在指标设置菜单里看到启停开关:

// 放在//@version=5和indicator()声明之后
showSR = input.bool(true, title="显示支撑阻力线", tooltip="开启/关闭支撑阻力线的绘制")
  • true是默认开启状态,可改成false设置默认关闭
  • title是设置菜单里显示的开关名称,可自定义

步骤2:用开关控制目标代码执行

把你原来的array.set代码包裹在if判断里,只有当开关开启时才执行这段逻辑:

if showSR
    array.set(sr_lines, x + 1, line.new(x1=bar_index, y1=mid, x2=bar_index - 1, y2=mid, extend=extend.both, color=mid >= close ? resistancecolor : supportcolor, style=Lstyle, width=linewidth))

完整示例片段

//@version=5
indicator("带开关的支撑阻力指标", overlay=true)

// 开关输入项
showSR = input.bool(true, title="显示支撑阻力线", tooltip="开启/关闭支撑阻力线的绘制")

// 自定义参数(根据你的实际代码调整)
resistancecolor = color.new(color.red, 0)
supportcolor = color.new(color.green, 0)
Lstyle = line.style_solid
linewidth = 2
mid = (ta.highest(high, 5) + ta.lowest(low, 5)) / 2

// 初始化线条数组(必须在使用前定义)
var sr_lines = array.new_line()
x = 0 // 示例索引值,替换成你的实际逻辑变量

// 受开关控制的线条绘制逻辑
if showSR
    array.set(sr_lines, x + 1, line.new(x1=bar_index, y1=mid, x2=bar_index - 1, y2=mid, extend=extend.both, color=mid >= close ? resistancecolor : supportcolor, style=Lstyle, width=linewidth))

注意事项

  • 确保sr_lines数组已经通过var关键字初始化(避免每次bar都重新创建数组)
  • 开关的if判断要放在数组初始化之后、目标代码执行的位置,确保逻辑顺序正确

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 18:00:18