如何在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
相关产品推荐
相关产品推荐

