BankNifty + Nifty IT Stocks Dashboard
Real-Time Analysis of 12 Bank + 8 IT Stocks | RSI, Trend, Volume Spike, PDH/PDL & Master Signal
เคฏเคน เคกैเคถเคฌोเคฐ्เคก เค्เคฏा เคเคฐเคคा เคนै?
เคฏे เคเค เคช्เคฐोเคซेเคถเคจเคฒ เคฎเคฒ्เคी-เคธ्เคॉเค เคกैเคถเคฌोเคฐ्เคก เคนै เคो 12 BankNifty เคธ्เคॉเค्เคธ เคเคฐ 8 Nifty IT เคธ्เคॉเค्เคธ เคी เคฐिเคฏเคฒ-เคाเคเคฎ เคเคจाเคฒिเคธिเคธ เคฆेเคคा เคนै। เคเคธเคฎें RSI, เค्เคฐेंเคก, เคตॉเคฒ्เคฏूเคฎ เคธ्เคชाเคเค, PDH/PDL เคฌ्เคฐेเคเคเคเค เคเคฐ เคฎाเคธ्เคเคฐ BUY/SELL เคธिเค्เคจเคฒ เคฎिเคฒเคคा เคนै।
เคฎुเค्เคฏ เคซीเคเคฐ्เคธ (Key Features)
12 + 8 เคธ्เคॉเค्เคธ
SBIN, HDFCBANK, TCS, INFY, เคเคฐ 16 เค เคจ्เคฏ
RSI + Trend
20 EMA เคे เคเคชเคฐ/เคจीเคे – UP/DOWN
Volume Spike
2x เคเคธเคค เคตॉเคฒ्เคฏूเคฎ → เคนाเค เคंเคเคฐेเคธ्เค
PDH/PDL เคฌ्เคฐेเค
เคชिเคเคฒे เคฆिเคจ เคा เคนाเค/เคฒो เคฌ्เคฐेเค → เคธिเค्เคจเคฒ
Master Signal
7+ BUY = MASTER BUY | เคाเคฐ्เค เคชเคฐ เคฒेเคฌเคฒ
Chart Overlay
EMA20, VWAP, Strong BUY/SELL Arrows
เคोเคก เคฆेเคเคจे เคे เคฒिเค เคฒॉเคिเคจ เคเคฐें (Login to View Code)
This code is password protected. Enter credentials to unlock.
// This Pine Script® code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ashishmishraahc
//@version=5
indicator("BankNifty + Nifty IT Stocks Dashboard (VWAP Price Color)", overlay=true, max_labels_count=500)
// === Inputs ===
rsiLen = input.int(14, "RSI Length")
maLen = input.int(20, "MA Length (Trend)")
volAvgLen = input.int(20, "Volume Avg Length")
volSpikeMultiplier = input.float(2.0, "Volume Spike Multiplier")
buyThreshold = input.int(7, "Master BUY Threshold", minval=1, maxval=20)
// === Layout settings ===
cols = 9
rows = 22
var table dash = table.new(position.bottom_right, cols, rows, border_width=2, frame_color=color.gray, bgcolor=color.rgb(207, 207, 207))
// === Header Row ===
if barstate.isfirst
table.cell(dash, 0, 0, "SYMBOL", text_color=color.white, bgcolor=color.blue)
table.cell(dash, 1, 0, "LTP", text_color=color.white, bgcolor=color.blue)
table.cell(dash, 2, 0, "%Chg", text_color=color.white, bgcolor=color.blue)
table.cell(dash, 3, 0, "RSI", text_color=color.white, bgcolor=color.blue)
table.cell(dash, 4, 0, "Trend", text_color=color.white, bgcolor=color.blue)
table.cell(dash, 5, 0, "VWAP", text_color=color.white, bgcolor=color.blue) // NEW VWAP PRICE COLUMN
table.cell(dash, 6, 0, "VolSpike", text_color=color.white, bgcolor=color.blue)
table.cell(dash, 7, 0, "PDH/PDL", text_color=color.white, bgcolor=color.blue)
table.cell(dash, 8, 0, "Signal", text_color=color.white, bgcolor=color.blue)
// === Helper ===
f_pct(val) =>
not na(val) and val != 0 ? str.tostring(val * 100, "#.##") + "%" : "n/a"
// === Row Function ===
f_row(sym, row) =>
[c, v] = request.security(sym, timeframe.period, [close, volume])
[prevC, h_d, l_d] = request.security(sym, "D", [close[1], high[1], low[1]])
chg = na(prevC) or prevC == 0 ? na : (c - prevC) / prevC
rsi = ta.rsi(c, rsiLen)
ma = ta.sma(c, maLen)
ema20 = ta.ema(c, 20)
vwap = ta.vwap(c)
volAvg = ta.sma(v, volAvgLen)
volSpike = not na(v) and not na(volAvg) ? (v > volAvg * volSpikeMultiplier) : false
trendBull = c > ma
vwapBull = c > vwap
buyCond = c > ema20 and c > vwap
sellCond = c < ema20 and c < vwap
pdStatus = na(h_d) or na(l_d) ? "n/a" : (c > h_d ? "↑ PDH Break" : (c < l_d ? "↓ PDL Break" : "Inside"))
pdColor = na(h_d) or na(l_d) ? color.orange : (c > h_d ? color.green : (c < l_d ? color.red : color.orange))
chg_txt = f_pct(chg)
rsi_txt = na(rsi) ? "n/a" : str.tostring(rsi, "#.0")
trend_txt = trendBull ? "↑ UP ๐ข" : "↓ DOWN ๐ด"
vol_txt = volSpike ? "YES" : "no"
signal_txt = buyCond ? "BUY" : (sellCond ? "SELL" : "-")
ltp_txt = na(c) ? "n/a" : str.tostring(c, "#.##")
vwap_txt = na(vwap) ? "n/a" : str.tostring(vwap, "#.##")
// Table Fill
table.cell(dash, 0, row, sym, text_color=color.white, bgcolor=color.rgb(20,28,38))
table.cell(dash, 1, row, ltp_txt, text_color=color.white, bgcolor=color.rgb(10,10,10))
table.cell(dash, 2, row, chg_txt, text_color=color.white, bgcolor=(chg>=0?color.new(color.green,0):color.new(color.red,0)))
table.cell(dash, 3, row, rsi_txt, text_color=color.white, bgcolor=(rsi>=70?color.new(color.red,0):(rsi<=30?color.new(color.green,0):color.new(color.black,0))))
table.cell(dash, 4, row, trend_txt, text_color=color.white, bgcolor=(trendBull?color.new(color.green,0):color.new(color.red,0)))
// VWAP column: price color-coded (green if price > vwap, red if below)
table.cell(dash, 5, row, ltp_txt, text_color=color.white, bgcolor=(c > vwap ? color.new(color.green, 0) : color.new(color.red, 0)))
table.cell(dash, 6, row, vol_txt, text_color=color.black, bgcolor=(volSpike?color.new(color.orange,0):color.new(color.silver,0)))
table.cell(dash, 7, row, pdStatus, text_color=color.white, bgcolor=pdColor)
table.cell(dash, 8, row, signal_txt, text_color=color.white, bgcolor=(buyCond?color.new(color.green,0):(sellCond?color.new(color.red,0):color.new(color.gray,0))))
[buyCond, sellCond]
// === Stock Rows ===
[s1b, s1s] = f_row("SBIN", 1)
[s2b, s2s] = f_row("HDFCBANK", 2)
[s3b, s3s] = f_row("ICICIBANK", 3)
[s4b, s4s] = f_row("AXISBANK", 4)
[s5b, s5s] = f_row("KOTAKBANK", 5)
[s6b, s6s] = f_row("PNB", 6)
[s7b, s7s] = f_row("BANKBARODA", 7)
[s8b, s8s] = f_row("INDUSINDBK", 8)
[s9b, s9s] = f_row("FEDERALBNK", 9)
[s10b, s10s] = f_row("IDFCFIRSTB", 10)
[s11b, s11s] = f_row("CANBK", 11)
[s12b, s12s] = f_row("AUBANK", 12)
[s13b, s13s] = f_row("TCS", 13)
[s14b, s14s] = f_row("INFY", 14)
[s15b, s15s] = f_row("HCLTECH", 15)
[s16b, s16s] = f_row("WIPRO", 16)
[s17b, s17s] = f_row("TECHM", 17)
[s18b, s18s] = f_row("LTIM", 18)
[s19b, s19s] = f_row("PERSISTENT", 19)
[s20b, s20s] = f_row("COFORGE", 20)
// === Master Signal ===
buyCount = (s1b?1:0)+(s2b?1:0)+(s3b?1:0)+(s4b?1:0)+(s5b?1:0)+(s6b?1:0)+(s7b?1:0)+(s8b?1:0)+(s9b?1:0)+(s10b?1:0)+(s11b?1:0)+(s12b?1:0)+(s13b?1:0)+(s14b?1:0)+(s15b?1:0)+(s16b?1:0)+(s17b?1:0)+(s18b?1:0)+(s19b?1:0)+(s20b?1:0)
sellCount = (s1s?1:0)+(s2s?1:0)+(s3s?1:0)+(s4s?1:0)+(s5s?1:0)+(s6s?1:0)+(s7s?1:0)+(s8s?1:0)+(s9s?1:0)+(s10s?1:0)+(s11s?1:0)+(s12s?1:0)+(s13s?1:0)+(s14s?1:0)+(s15s?1:0)+(s16s?1:0)+(s17s?1:0)+(s18s?1:0)+(s19s?1:0)+(s20s?1:0)
masterSignal = buyCount >= buyThreshold ? "MASTER BUY (" + str.tostring(buyCount) + ")" :
sellCount >= buyThreshold ? "MASTER SELL (" + str.tostring(sellCount) + ")" :
"Neutral (B=" + str.tostring(buyCount) + " / S=" + str.tostring(sellCount) + ")"
masterColor = buyCount >= buyThreshold ? color.green : (sellCount >= buyThreshold ? color.red : color.gray)
table.cell(dash, 0, 21, masterSignal, text_color=color.white, bgcolor=masterColor)
for i = 1 to cols - 1
table.cell(dash, i, 21, "", text_color=color.white, bgcolor=masterColor)
// === Chart Labels & Trend ===
var label masterLabel = na
if barstate.islast
if not na(masterLabel)
label.delete(masterLabel)
masterLabel := label.new(bar_index, high, masterSignal,
color=masterColor, textcolor=color.white, style=label.style_label_center, size=size.large)
ema20_chart = ta.ema(close, 20)
vwap_chart = ta.vwap(close)
plot(ema20_chart, color=color.orange, linewidth=2, title="EMA 20")
plot(vwap_chart, color=color.blue, linewidth=2, title="VWAP")
ema200 = ta.ema(close, 200)
plot(ema200, title="Trend EMA200", color=close > ema200 ? color.green : color.red, linewidth=3)
bgcolor(color.new(color.gray, 95), title="Chart Background", transp=90)
// === Footer contact ===
var table myTable = table.new(position.middle_left, 1, 1, border_width=1, frame_color=color.black, bgcolor=color.white)
if barstate.isfirst
table.cell(myTable, 0, 0, "๐ฌ๐ฑ 9713466747", bgcolor=color.orange, text_color=color.white, text_size=size.large)
Code unlocked! เค เคฌ เคเคช เคเคธे เคॉเคชी เคเคฐ เคธเคเคคे เคนैं।
0 Comments