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

如何在Pine Script v5中将成交量显示为百万单位(如1.8MN)?

实现成交量百万单位(如1.8MN)显示的解决方案

问题背景

我编写了一个寻找量价背离的指标,代码中通过如下区块绘制成交量:

volume_variable = volume
volume_ma_input = input.int(20, title = "Volume Moving Average Period")

plot(volume_variable, color = close>open ? color.new(color.green,50) : color.new(color.red,50), style = plot.style_columns)

plot(ta.sma(volume_variable,volume_ma_input), color = color.white)

但当前成交量显示为「1850252」格式,而非预期的「1.8MN」百万单位格式,请问需要添加什么代码实现该效果?


两种实现方式

方式一:使用内置参数快速实现

Pine Script提供了内置的格式化参数,可直接完成单位转换和显示调整:

volume_variable = volume
volume_ma_input = input.int(20, title = "Volume Moving Average Period")

// 绘制成交量柱,指定百万单位格式
plot(volume_variable, 
     color = close>open ? color.new(color.green,50) : color.new(color.red,50), 
     style = plot.style_columns,
     format = format.volume,  // 启用成交量专用格式化规则
     scale = scale.millions)   // 设置以百万为显示单位

// 绘制成交量均线,应用同样的格式化
plot(ta.sma(volume_variable, volume_ma_input), 
     color = color.white,
     format = format.volume,
     scale = scale.millions)

方式二:自定义格式化函数(更灵活)

如果需要自定义小数位数或单位文本,可编写专属格式化函数:

volume_variable = volume
volume_ma_input = input.int(20, title = "Volume Moving Average Period")

// 自定义函数:将成交量转换为百万单位并保留1位小数
formatVol(vol) =>
    volInMillions = vol / 1000000
    str.tostring(volInMillions, "0.1") + "MN"

// 绘制成交量柱,鼠标悬停时显示格式化后的值
plot(volume_variable, 
     color = close>open ? color.new(color.green,50) : color.new(color.red,50), 
     style = plot.style_columns,
     tooltip = formatVol(volume_variable))

// 绘制成交量均线,应用自定义格式化
plot(ta.sma(volume_variable, volume_ma_input), 
     color = color.white,
     tooltip = formatVol(ta.sma(volume_variable, volume_ma_input)))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 06:43:11