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

如何在Plotcandle函数中使用布尔值实现条件绘图?

问题

我现在用这段代码绘制蜡烛图:

plotcandle(open_c, open_c, close_c, close_c, title='Candles', color=open_c < close_c ? color.new(#003c7f,50) : color.new(#991722,50), wickcolor=na, bordercolor=open_c < close_c ? color.new(#003c7f,50) : color.new(#991722,50))

我想通过这个布尔输入变量来控制蜡烛图的显示:

candle_bool = input.bool(defval=true, title='Candles')

就像plot函数里用plot(candle_bool ? open_c : na [.....])这种条件绘图的方式,请问怎么在plotcandle里实现?

解决方案

在Pine Script里,plotcandle没法直接像plot那样只给单个参数传na就隐藏整个蜡烛,但可以通过给所有核心数据参数加上条件判断,开关关闭时返回na来实现隐藏效果。

修改后的完整代码如下:

// 定义控制蜡烛显示的开关
candle_bool = input.bool(defval=true, title='Candles')

// 根据开关状态绘制或隐藏蜡烛图
plotcandle(
    candle_bool ? open_c : na, 
    candle_bool ? open_c : na, 
    candle_bool ? close_c : na, 
    candle_bool ? close_c : na, 
    title='Candles', 
    color=candle_bool ? (open_c < close_c ? color.new(#003c7f,50) : color.new(#991722,50)) : na,
    wickcolor=na, 
    bordercolor=candle_bool ? (open_c < close_c ? color.new(#003c7f,50) : color.new(#991722,50)) : na
)

关键说明

  • 给plotcandle的前四个必填参数(开盘价、最高价、最低价、收盘价)都加上candle_bool ? 原变量 : na的判断,当开关关闭时,这些参数返回na,蜡烛就会被隐藏。
  • 同时给color和bordercolor也加上同样的条件判断,避免开关关闭后出现不必要的颜色残留。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 17:17:06