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

如何在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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 14:02:00