如何在Pine Script中获取每根K线的买卖成交量?
获取Pine Script中K线的买入/卖出成交量
在Pine Script v5里,原生并没有直接提供每根K线的主动买入成交量和主动卖出成交量的内置变量,但可以通过两种方式近似计算或获取相关数据:
基于tick数据的近似计算
你可以切换到tick级别图表,通过判断每笔tick的成交价格与盘口挂单的关系来区分主动买/卖单,再累加对应K线周期的成交量。示例代码://@version=5 indicator("Buy/Sell Volume", overlay=false) var float buyVol = 0.0 var float sellVol = 0.0 // 新K线启动时重置统计值 if barstate.isnew buyVol := 0.0 sellVol := 0.0 // 判定主动成交方向:tick价格≥卖一价视为主动买,≤买一价视为主动卖 if ta.change(close) if close >= ta.ask buyVol += volume else if close <= ta.bid sellVol += volume plot(buyVol, color=color.green, title="Buy Volume") plot(sellVol, color=color.red, title="Sell Volume")注意:这种方法依赖tick数据的精度,盘口快速波动时可能存在一定误差。
使用Level 2深度数据(限特定场景)
部分交易所或TradingView高级订阅服务会提供Level 2数据,此时可通过ta.volumeBuy和ta.volumeSell这类函数获取准确的主动成交数据,但这类函数仅在特定市场、特定订阅级别下可用,并非全品种支持。
普通用户大多只能通过第一种近似方法估算,准确的分笔成交数据通常需要更高权限的数据源支持。
内容的提问来源于stack exchange,提问作者sey eeet
相关产品推荐
相关产品推荐

