BankNifty + Nifty IT Stocks Dashboard
Real-Time Analysis of 12 Bank + 8 IT Stocks | RSI, Trend, Volume Spike, PDH/PDL & Master Signal
Updated – 06 Nov 2025 Vwap Add
यह डैशबोर्ड क्या करता है?
ये एक प्रोफेशनल मल्टी-स्टॉक डैशबोर्ड है जो 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