微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Pine script tradingview 最高成交量值,列上有百分比

如何解决Pine script tradingview 最高成交量值,列上有百分比

我正在尝试将每个卷的值放在栏的列上。但仍然没有解决方法。我正在学习 pinescript。请指导我如何将标签或值直接放在列上。我正在附上显示列顶部值的另一个指标的照片。但是这个指示符覆盖是错误的,我的是真实的。如果我可以获得相同或附近的结果,那么对我来说也可以。我知道在列上绘制值很棘手,但我是当然也有办法做到这一点。enter image description here

解决方法

要以您想要的格式获取音量值,您必须手动将它们转换为这样的字符串:

f_get_volume_string(_volume) =>
    string _volume_string = na
    if _volume >= 1000000000
        _volume_digits = round((_volume / 1000000000) * 100) / 100
        _volume_string := tostring(_volume_digits) + "B"
    else if _volume >= 1000000
        _volume_digits = round((_volume / 1000000) * 100) / 100
        _volume_string := tostring(_volume_digits) + "M"
    else if _volume >= 1000
        _volume_digits = round((_volume / 1000) * 100) / 100
        _volume_string := tostring(_volume_digits) + "K"
    else
        _volume_string := tostring(round(_volume * 100) / 100)
    _volume_string
    

vol_lab = label.new(x = bar_index,y = close,style = label.style_label_left,text = f_get_volume_string(volume))
label.delete(vol_lab[1])

此函数将音量值作为您可以在标签中使用的字符串返回。如果您希望保留 3 位小数,请使用 * 1000/ 1000

,

这是我所知道的用overlay = true实现你想要的最接近的方法。您还需要确保在图表设置下将底部边距设置为零。

//@version=4
study("Volume Values",overlay = true,scale = scale.none,max_labels_count = 500)
hh = highest(volume,500)
plot(hh * 5,color = #00000000)

col = close < close[1]? color.lime : color.red

plot(volume,color = col,style = plot.style_columns)

if volume > sma(volume,20)
    vol_lab = label.new(x = bar_index,y = volume,style = label.style_label_down,color = #00000000,textcolor = col,size = size.tiny,text = tostring(volume))

通过为 hh * 5 设置不可见的图(它不需要是 5,根据您的需要进行调整),您可以将交易量列“展平”到图表窗口的底部

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。