This tool monitors the "Relative Volume" (RVOL) of your watchlist. Price action is often noise, but volume is truth. When a stock is trading at 200% or 300% of its normal volume, it indicates institutional interest and a high probability of a sustained trend.
//@version=5
indicator("DTL Lab - High Volume Table", overlay=true)
// --- POSITION SETTINGS ---
table_pos = input.string("bottom_right", "Table Position", options=["top_right", "bottom_right", "top_left", "bottom_left"])
pos_val = table_pos == "top_right" ? position.top_right :
table_pos == "bottom_right" ? position.bottom_right :
table_pos == "top_left" ? position.top_left : position.bottom_left
// --- Ticker Inputs ---
t1 = input.symbol("AAPL", "Ticker 1"), t2 = input.symbol("TSLA", "Ticker 2")
t3 = input.symbol("NVDA", "Ticker 3"), t4 = input.symbol("AMD", "Ticker 4")
t5 = input.symbol("META", "Ticker 5"), t6 = input.symbol("MSFT", "Ticker 6")
// --- Volume Logic Function ---
checkVolume(sym) =>
[v, av] = request.security(sym, timeframe.period, [volume, ta.sma(volume, 20)])
rvol = v / av
is_high = rvol > 2.0 // 2x Average Volume
[rvol, is_high]
// --- Execution ---
[rv1, h1] = checkVolume(t1), [rv2, h2] = checkVolume(t2)
[rv3, h3] = checkVolume(t3), [rv4, h4] = checkVolume(t4)
[rv5, h5] = checkVolume(t5), [rv6, h6] = checkVolume(t6)
// --- UI Table ---
var tbl = table.new(pos_val, 2, 7, frame_color=color.gray, frame_width=1)
if barstate.islast
table.cell(tbl, 0, 0, "Symbol", bgcolor=color.new(#e67e22, 80), text_color=color.white)
table.cell(tbl, 1, 0, "RVOL", bgcolor=color.new(#e67e22, 80), text_color=color.white)
table.cell(tbl, 0, 1, t1, text_color=color.white)
table.cell(tbl, 1, 1, str.tostring(rv1, "#.#") + "x", bgcolor = h1 ? color.new(#e67e22, 40) : color.new(color.gray, 20), text_color=color.white)
table.cell(tbl, 0, 2, t2, text_color=color.white)
table.cell(tbl, 1, 2, str.tostring(rv2, "#.#") + "x", bgcolor = h2 ? color.new(#e67e22, 40) : color.new(color.gray, 20), text_color=color.white)
table.cell(tbl, 0, 3, t3, text_color=color.white)
table.cell(tbl, 1, 3, str.tostring(rv3, "#.#") + "x", bgcolor = h3 ? color.new(#e67e22, 40) : color.new(color.gray, 20), text_color=color.white)
table.cell(tbl, 0, 4, t4, text_color=color.white)
table.cell(tbl, 1, 4, str.tostring(rv4, "#.#") + "x", bgcolor = h4 ? color.new(#e67e22, 40) : color.new(color.gray, 20), text_color=color.white)
table.cell(tbl, 0, 5, t5, text_color=color.white)
table.cell(tbl, 1, 5, str.tostring(rv5, "#.#") + "x", bgcolor = h5 ? color.new(#e67e22, 40) : color.new(color.gray, 20), text_color=color.white)
table.cell(tbl, 0, 6, t6, text_color=color.white)
table.cell(tbl, 1, 6, str.tostring(rv6, "#.#") + "x", bgcolor = h6 ? color.new(#e67e22, 40) : color.new(color.gray, 20), text_color=color.white)
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behaviour or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
DayTradeLab DOES NOT provide investment advice. The information contained within this websites, is provided for informational and educational purposes only. The information should not be construed as investment or trading advice, and is not meant to be a solicitation or recommendation to buy, sell, or hold any positions in any indices or financial markets mentioned.