VOL + Coverage % (Label)


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")
);