Pine-Script函数

Pine-Script function

我需要一些帮助来创建如下函数,我想获得指定时间段内红色交易量的总和以及同一时间段内绿色交易量的总和,以计算两者之间的差异。

sumvolup(lenght) => 
    sumvolup = float(0)
    volwhengreen = valuewhen(close-open>=0, volume, 1)
    sumvolup := sum(volwhengreen, lenght)
    sumvolup
    
sumvoldown(lenght) => 
    sumvoldown = float(0)
    volwhenred = valuewhen(open-close>=0, volume, 1)
    sumvoldown := sum(volwhenred, lenght)
    sumvoldown

我的问题如下图所示:当我尝试使用 sumvolup(1)>sumvoldown(1) 检查我的函数是否可以正常使用指标上的绘制字符时,我得到了红色条形图的绘制。

如果您遇到问题,最好在提问时包含可编译的代码片段,包括绘图代码。

这可能会帮助您继续前进:

//@version=4
study("")
i_length = input(20)

// This is the equivalent of your snippet, in shorter form.
volUp = close >= open ? volume : 0
volDn = close <= open ? volume : 0
sumvolup   = sum(volUp, i_length)
sumvoldown = sum(volDn, i_length)

// This plots the information.
volIsUp = sumvolup > sumvoldown
plot(sumvolup, "sumvolup", color.green)
plot(sumvoldown, "sumvoldown", color.red)
plotchar(volIsUp[1], "volIsUp[1]", "▲", location.top, size = size.tiny)

请注意,在此处,条件与您​​的条件相同,您在 close == open:

时计算了两次音量
volUp = close >= open ? volume : 0
volDn = close <= open ? volume : 0