如何从独立面板指标触发在主图K线画线 无需额外叠加指标实例
实现结论
可以实现,无需新增第二个指标实例,在原有独立面板指标的脚本内即可完成配置。
具体实现方法
核心逻辑为在同一个脚本内同时保留独立面板的指标渲染逻辑、主图标记线的渲染逻辑,通过参数控制不同内容的显示面板即可:
- 保留原有独立指标的计算和渲染代码,比如MACD的DIFF、DEA、柱线的计算和绘图部分不需要调整,这部分内容会默认显示在独立指标面板
- 新增你需要的触发条件判断逻辑,比如MACD金叉、死叉、阈值突破等自定义条件
- 新增主图标记线的绘图代码,给绘图函数添加
display = display.data_window参数,即可让该绘图元素直接渲染在主图K线面板,不会出现在独立指标面板
参考示例代码(Pine Script v5)
//@version=5 indicator("MACD带主图标记", shorttitle="MACD_Mark", overlay=false) // 指标默认挂载在独立面板 // 原有MACD计算和独立面板渲染逻辑 [diff, dea, hist] = ta.macd(close, 12, 26, 9) plot(diff, color=color.blue, title="DIFF") plot(dea, color=color.orange, title="DEA") plot(hist, color=hist>0 ? color.red : color.green, title="MACD柱", style=plot.style_columns) // 自定义触发条件示例:MACD柱由负转正 trigger_condition = ta.crossover(hist, 0) // 主图绘制标记线,display参数指定显示在主图窗口 plot(trigger_condition ? high * 1.01 : na, title="上涨触发标记", color=color.new(color.green, 0), style=plot.style_cross, linewidth=3, display=display.data_window)
版本兼容说明
如果你使用的是Pine Script v4及更早版本,没有display参数,可以直接给主图绘图部分设置overlay = true属性:同一个脚本内同时存在非overlay和overlay的绘图语句时,脚本默认会挂载在你首次添加时选择的面板,同时overlay的绘图元素会自动渲染到主图,无需开启第二个指标实例。
内容的提问来源于stack exchange,提问作者WeekendHack
相关产品推荐
相关产品推荐

