如何在Pine Script中标记交易日内的最高成交量蜡烛
Pine Script 实现单日最高成交量蜡烛上方标记图形
以下是满足需求的完整代码,关键逻辑都加了注释,适合新手理解:
//@version=5 indicator("单日最高成交量标记", overlay=true) // 检测新交易日,触发当日最高成交量重置 is_new_day = ta.change(time('D')) var float day_high_volume = na // 更新当日最高成交量:新交易日取当前蜡烛成交量,否则取历史最高与当前量的最大值 day_high_volume := is_new_day ? volume : math.max(day_high_volume, volume) // 判断当前蜡烛是否为当日最高成交量 is_current_high = volume == day_high_volume // 在符合条件的蜡烛上方绘制标记,可自定义样式 plotshape(is_current_high, title="最高量标记", location=location.abovebar, style=shape.labelup, text="VOL HIGH", textcolor=color.white, color=color.new(color.red, 0), size=size.small)
核心逻辑说明
- 交易日重置:通过
ta.change(time('D'))识别日期切换,新交易日直接把当前蜡烛成交量设为当日初始最高值,满足你“首个蜡烛标记为最高”的要求 - 动态更新最高量:每根蜡烛都会对比当前成交量和当日已记录的最高值,自动更新为较大的那个
- 标记绘制:用
plotshape在成交量等于当日最高值的蜡烛上方添加标签,你可以根据喜好调整图形样式
自定义调整参考
- 把
shape.labelup换成shape.arrowup可显示向上箭头 - 修改
text参数能自定义标记文字,比如改成“最高量” - 若想在蜡烛下方标记,将
location.abovebar替换为location.belowbar
内容的提问来源于stack exchange,提问作者Prasanta Sarkar
相关产品推荐
相关产品推荐

