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

如何基于条件禁用或启用Pinescript输入项?

Pine Script 实现输入项的条件禁用方案

Pine Script 确实无法动态创建或删除输入项——因为所有input声明都是预编译阶段生成的常量,不能在运行时更改。但可以通过以下方式模拟条件隐藏/禁用的效果,实现类似按需控制输入项的功能:

方法1:通过hidden参数控制输入项显示

利用input函数的hidden参数,结合布尔开关控制输入项是否在设置面板中显示:

// 主开关:控制是否启用后续输入
bool_x = input.bool(true, "启用长度设置")

// 根据开关状态决定是否隐藏输入项
integer_x = input.int(0, '长度', minval=1, hidden=not bool_x)

当bool_x为true时,hidden值为false,输入项正常显示;当bool_x为false时,输入项会被隐藏,达到“按需创建”的视觉效果。

方法2:保留输入框但提示禁用状态

如果需要保留输入框但提示用户当前不可用,可以配合tooltip参数,并在逻辑中忽略未启用的输入值:

bool_x = input.bool(true, "启用长度设置")
integer_x = input.int(0, '长度', minval=1, tooltip=bool_x ? "" : "请先启用上方的「启用长度设置」开关")

// 业务逻辑中根据开关决定是否使用输入值
var int actual_length = 10 // 默认值
if bool_x
    actual_length := integer_x

这种方式下输入框不会隐藏,但用户能通过tooltip知道当前不可用,代码中也会在开关关闭时使用预设的默认值,模拟禁用效果。

以上两种方式就是实现类似Session Volume Profile HD指标中条件控制输入项的常用方案,本质是通过预声明输入项+运行时控制显示/逻辑使用,来绕过Pine Script输入项为常量的限制。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 22:50:28