如何获取TradingView指标线条颜色并按颜色分配对应+1、-1数值
问题解答
Pine Script 原生没有提供读取其他指标绘图颜色属性的API接口,无法直接通过「读取指标A线条颜色」的方式实现你的需求,但可以通过两种可行路径间接实现同等效果:
- 情况1:你持有指标A的源代码
这是成本最低的实现方案,你可以直接修改指标A的代码,将控制线条颜色的判断逻辑额外输出为一个数值型的绘图数据源,参考示例:
// 指标A原有的颜色判断逻辑,可替换为你实际的判断条件 color lineColor = close > ta.sma(close, 20) ? #2196f3 : #FF0000 // 新增输出对应数值的逻辑,仅在数据窗口显示不额外绘图 plot(close > ta.sma(close, 20) ? 1 : -1, "color_signal", display = display.data_window) // 原有线条绘制逻辑 plot(yourLineValue, "目标线条", color = lineColor)
你编写指标B时,只需要添加输入源参数选择指标A输出的color_signal数据源,即可直接拿到1/-1的对应数值。
- 情况2:你没有指标A的源代码,仅能调用编译后的指标
你需要先反向复现指标A的颜色触发逻辑:由于指标A的线条颜色仅有两种固定值,颜色切换必然和指标A的自身输出数值、标的行情数值存在固定对应规则,你可以通过多周期多标的测试,总结出颜色切换的触发条件(比如:指标A输出值>0时为蓝色、<0时为红色;或者指标A上穿0轴时变蓝色、下穿0轴时变红色等),复现触发条件后直接写入指标B的逻辑即可,不需要读取颜色属性。
如果无法反向复现出颜色触发规则,该需求无法通过Pine Script实现。
内容的提问来源于stack exchange,提问作者the.mathew
相关产品推荐
相关产品推荐

