declare upper;
input length = 30;
input labelRed = 0;
input labelGreen = 255;
input labelBlue = 255;
# User-defined label color
DefineGlobalColor("CustomLabel", CreateColor(labelRed, labelGreen, labelBlue));
# 30-day average volume (excluding today)
def dailyVolume = volume(period = AggregationPeriod.DAY);
def avgVolume = Average(dailyVolume[1], length);
# Current day's volume so far
def isNewDay = GetDay() != GetDay()[1];
def todayVolume = if isNewDay then 0 else todayVolume[1] + volume;
# Percentage of today's volume compared to the 30-day average
def volumePct = if avgVolume != 0 then (todayVolume / avgVolume) * 100 else Double.NaN;
# Show label (only percentage)
AddLabel(
yes,
# "30-Day Avg: " + Round(avgVolume, 0) +
# " | Today: " + Round(todayVolume, 0) +
"% of 30-Day Avg: " + AsPercent(volumePct / 100),
GlobalColor("CustomLabel")
);