0

I want a function that can identify the Highest volume bar of the present day in a 1-minute time frame. For that 1 minute candle, I want to change the candle stick color to say WHITE. If, later in the day again, a candle with higher volume forms than the previous volume, it should color that candle too. Now, the actual usage for Entries: This highest 1-minute volume value is the benchmark; if a candle stick with a volume above 50% of the highest volume forms, I'd like the color of the bar to change to Yellow; otherwise, the default. The entire calculation starts with a new session and ends with the session

I am new to Pine, I tried to do it, but I couldn't make a script due to its complexity.

This one I found here didn't work



indicator("highest daily volume", overlay = true)

var highest_volume = volume
var label_array = array.new_label(100000)

var index = 0

if ta.change(time("D"))
highest_volume := volume
array.set(label_array, index, label.new(bar_index, high, str.tostring(highest_volume)))
index += 1
else
highest_volume := math.max(highest_volume, volume)
if highest_volume != highest_volume[1]
    label.set_x(array.get(label_array, index - 1), bar_index)
plot(close)
Anuj
  • 1
  • Please clarify your specific problem or provide additional details to highlight exactly what you need. As it's currently written, it's hard to tell exactly what you're asking. – Community Jul 20 '23 at 20:02

1 Answers1

0

You need to use the request.security_lower_tf() to get the volume data from the 1-min timeframe.

request.security_lower_tf(symbol, timeframe, expression, ignore_invalid_symbol, currency) → array<type>

As you can see, it returns an array. So, you can call array.max() on the return value to find the maximum volume.

vitruvius
  • 15,740
  • 3
  • 16
  • 26