如何让变量在所有K线显示最后收盘价?(PineScript v5)
解决PineScript v5显示全局收盘价的问题
原代码仅在最后一根已确认历史K线时赋值,导致其他K线悬停显示0。以下是两种满足需求的实现方式:
方案1:显示最后一根已确认历史K线的收盘价
//@version=5 indicator("Last Confirmed Close", overlay=true) // 提取最后一根已确认历史K线的收盘价,所有K线复用该值 last_confirmed_close = ta.valuewhen(barstate.islastconfirmedhistory, close, 0) plotchar(last_confirmed_close, title="Last Close", char="", location=location.top, color=#ffffff)
方案2:显示图表最右侧可见K线的收盘价(含实时未闭合K线)
//@version=5 indicator("Last Visible Close", overlay=true) // 提取最右侧可见K线的收盘价 last_visible_close = ta.valuewhen(barstate.islast, close, 0) plotchar(last_visible_close, title="Last Close", char="", location=location.top, color=#ffffff)
关键说明
ta.valuewhen(condition, value, offset):从满足condition的K线中提取value,这里通过barstate.islastconfirmedhistory或barstate.islast锁定目标K线,offset=0表示取最近一次满足条件的值,确保所有K线都显示同一个最新收盘价。- 移除原代码中
var的初始值限制,避免非目标K线显示默认的0。
内容的提问来源于stack exchange,提问作者FDL
相关产品推荐
相关产品推荐

