Pine Script设置overlay=true时如何替换隐藏默认主图图表
Pine Script 隐藏主图默认K线实现方案
Pine Script 没有提供直接关闭、删除或替换平台默认主图K线的接口权限,所有设置overlay=true的主图叠加指标,都是渲染在默认K线所在核心图层的上层,无法直接修改核心图层的显示开关,但可以通过两种方案实现“仅保留自定义绘制内容、隐藏默认K线”的需求。
方案1:手动调整默认K线透明度(零兼容问题,最稳定)
直接在图表顶部工具栏打开K线样式设置面板,选中蜡烛图类型后,将K线实体、影线、边框的透明度滑块全部拉到100%,此时默认K线会完全不可见。再加载你编写的叠加指标,所有自定义绘制的连线、图形、标记都会正常显示,不存在适配问题。方案2:脚本内置遮挡逻辑(无需用户手动修改图表设置)
利用上层渲染内容覆盖下层内容的规则,在指标代码的最开始,先绘制和当前图表背景色完全一致的不透明K线,完全盖住底层默认K线,之后再编写你需要的自定义绘制逻辑即可。适配全主题的示例代码如下:
//@version=5 indicator("仅显示收盘价连线", overlay=true, shorttitle="Close Only") // 绘制和当前图表背景同色的不透明K线,遮挡底层默认K线 plotcandle(open, high, low, close, color=chart.bg_color, wickcolor=chart.bg_color, bordercolor=chart.bg_color) // 自定义绘制内容:收盘价连线 plot(close, color=color.rgb(25, 118, 210), linewidth=2, title="收盘价线")
注意:内置遮挡的本质是上层图形盖住下层内容,并非真的删除默认K线。如果你后续绘制的自定义内容带有透明度,对应位置还是会透出底层被遮挡的默认K线。代码中使用内置变量
chart.bg_color可以自动获取当前图表的背景色,不需要手动写死颜色值,适配深色、浅色等所有主题。
内容的提问来源于stack exchange,提问作者silverstreak
相关产品推荐
相关产品推荐

