Function Pine脚本函数

Function Pine脚本函数,function,pine-script,Function,Pine Script,我需要一些帮助来创建一个函数,如下所示,我想要得到一个定义的周期内的红色体积和同一周期内的绿色体积之和,来计算两者之间的差异 sumvolup(lenght) => sumvolup = float(0) volwhengreen = valuewhen(close-open>=0, volume, 1) sumvolup := sum(volwhengreen, lenght) sumvolup sumvoldown(lenght) =&

我需要一些帮助来创建一个函数,如下所示,我想要得到一个定义的周期内的红色体积和同一周期内的绿色体积之和,来计算两者之间的差异

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)

您似乎已经有了代码。它有什么作用?为什么错了?当我使用plotchar并检查sumvolup(1)>sumvoldown(1)时,我看到了sup volume红色条图。我编辑了我的帖子,我认为它更清晰。是的,(也许我错了),但是“我得到了红色条图”对我来说仍然不是那么清晰。屏幕截图中是哪一位?它应该是什么样子呢?因为红色的卷不应该被绘制,因为它的总和大于之前的绿色卷。谢谢LucF,我理解逻辑“volUp=close>=open?volume:0…”和我的逻辑“volume:0…”之间的区别。很好!
volUp = close >= open ? volume : 0
volDn = close <= open ? volume : 0