从值中找出最大值

Find maximum value out of values

我需要在 Pine SCript 版本 4 中找到上述变量的最大值,但我无法这样做,因为它给出了编译错误

Code Logic 
myVolume1 = (close[1]-close[2])/close[2] > 0 ? 0 : volume[1]
myVolume2 = (close[2]-close[3])/close[3] > 0 ? 0 : volume[2]
myVolume3 = (close[3]-close[4])/close[4] > 0 ? 0 : volume[3]
myVolume4 = (close[4]-close[5])/close[5] > 0 ? 0 : volume[4]
myVolume5 = (close[5]-close[6])/close[6] > 0 ? 0 : volume[5]
myVolume6 = (close[6]-close[7])/close[7] > 0 ? 0 : volume[6]
myVolume7 = (close[7]-close[8])/close[8] > 0 ? 0 : volume[7]
myVolume8 = (close[8]-close[9])/close[9] > 0 ? 0 : volume[8]
myVolume9 = (close[9]-close[10])/close[10] > 0 ? 0 : volume[9]
myVolume10 = (close[10]-close[11])/close[11] > 0 ? 0 : volume[10]

test = volume > max(myVolume1,myVolume2,myVolume3,myVolume4,myVolume5,myVolume6,myVolume7,myVolume8,myVolume9,myVolume10)

我正在根据条件存储 10 个值,我需要找到该 vvalue 的最大值并将其与体积进行比较以分配值

你可以这样做

//@version=4
study("test", overlay=true)

arr = array.new_float()

for i = 1 to 10
    array.push(arr, (close[i]-close[i+1])/close[i+1] > 0 ? 0 : volume[i])

test = volume > array.max(arr)

plot(na)

编辑:按照评论中的要求进行体积着色。
Pine 不允许对音量条进行着色,因此我们必须重新创建音量条。
这里有2个选项:

选项 1:使用单独的面板绘制体积

//@version=4
study("test - separate panel")

arr = array.new_float()

for i = 1 to 10
    array.push(arr, (close[i]-close[i+1])/close[i+1] > 0 ? 0 : volume[i])

condition = volume > array.max(arr) ? 1 : 0
volumeUp = change(volume) > 0
vColor = condition ? color.black : volumeUp ? color.green : color.red

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

选项 2:叠加在主图表上,但您需要在左侧刻度上绘制交易量。

//@version=4
study("test - scale left", overlay=true, scale=scale.left)

arr = array.new_float()

for i = 1 to 10
    array.push(arr, (close[i]-close[i+1])/close[i+1] > 0 ? 0 : volume[i])

condition = volume > array.max(arr) ? 1 : 0
volumeUp = change(volume) > 0
vColor = condition ? color.black : volumeUp ? color.green : color.red

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