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

如何用PineScript在TradingView价格图表底部叠加带悬停提示的图标或形状?

在TradingView底部添加事件图标(带悬停说明)

实现步骤与代码示例

以下是完整的PineScript代码,模拟分红、财报、新闻三类事件,在图表底部绘制不同图标,鼠标悬停时显示事件详情:

//@version=5
indicator("底部事件图标", overlay=true, shorttitle="Event Icons")

// 定义事件数据:日期、类型、说明
var eventData = array.new_tuple(
    timestamp("2024-03-15"), "分红", "每股分红$0.5",
    timestamp("2024-04-20"), "财报", "Q1营收同比增长12%",
    timestamp("2024-05-10"), "新闻", "宣布收购竞争对手"
)

// 计算底部偏移量(用ATR避免被价格覆盖)
bottomOffset = low - ta.atr(10) * 0.6

// 遍历事件数据,绘制对应图标
for i from 0 to array.size(eventData)/3 - 1
    eventTime = array.get(eventData, i*3)
    eventType = array.get(eventData, i*3+1)
    eventDesc = array.get(eventData, i*3+2)
    
    // 判断当前K线是否对应事件日期
    isEventBar = time == eventTime
    
    // 根据事件类型选择图标样式和颜色
    if isEventBar
        if eventType == "分红"
            plotshape(series=isEventBar, title=eventDesc, location=location.absolute, 
                      y=bottomOffset, style=shape.labeldown, color=color.green, 
                      text="分红", textcolor=color.white, size=size.small)
        elif eventType == "财报"
            plotshape(series=isEventBar, title=eventDesc, location=location.absolute, 
                      y=bottomOffset, style=shape.labeldown, color=color.orange, 
                      text="财报", textcolor=color.white, size=size.small)
        elif eventType == "新闻"
            plotshape(series=isEventBar, title=eventDesc, location=location.absolute, 
                      y=bottomOffset, style=shape.labeldown, color=color.blue, 
                      text="新闻", textcolor=color.white, size=size.small)

关键细节说明

  • 底部定位:用low - ta.atr(10)*0.6计算偏移量,确保图标始终在K线下方,不会被价格走势覆盖;ATR的倍数可根据图表缩放调整。
  • 悬停说明:plotshape()的title参数直接设置事件详情,鼠标悬停图标时会自动显示该文本。
  • 图标区分:通过style(如shape.labeldown、shape.triangledown等)、color和text区分不同事件类型,你也可以用plotchar()自定义字符图标。
  • 事件数据管理:用var array存储事件信息,方便批量添加或修改事件,也可以结合TradingView内置的事件数据源(如ta.dividends())实现动态加载。

扩展优化

  • 如果需要在非K线对齐的时间点显示事件,可以用label.new()直接指定时间坐标绘制。
  • 若事件较多,可添加输入参数控制不同类型事件的显示/隐藏。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 18:45:33