Pine Script 64输出限制下,如何实现双信号图形自定义颜色?
解决Pine Script输出上限与自定义信号颜色的方案
核心思路
把两个独立的plotshape调用合并成一个,通过条件判断切换信号的颜色、样式和位置,只占用1个输出名额(而非原来的2个),既规避64个输出的上限限制,又保留用户自定义颜色的功能。
具体实现代码
- 先添加用户自定义颜色的输入控件:
// 自定义颜色输入 shortSignalColor = input.color(color.red, title="做空回调信号颜色") longSignalColor = input.color(color.green, title="做多回调信号颜色")
- 合并两个信号的绘制逻辑:
// 合并绘制多空信号 plotshape(shortpullbacksignal or longpullbacksignal, color=shortpullbacksignal ? shortSignalColor : longSignalColor, style=shortpullbacksignal ? shape.triangledown : shape.triangleup, location=shortpullbacksignal ? location.abovebar : location.belowbar, offset=0, size=size.small, show_last=3, editable=false)
原理说明
利用Pine Script的三元运算符? :,根据当前触发的信号(shortpullbacksignal或longpullbacksignal)动态切换plotshape的颜色、样式和位置。由于多空信号通常不会同时触发,这种合并完全不影响信号展示效果,还能减少一个输出占用,刚好满足上限要求。
内容的提问来源于stack exchange,提问作者Andrea Ramengo
相关产品推荐
相关产品推荐

