jewel
let's build a tradingview indicsator
PHONE


You’re aiming for something powerful—but let’s clear one thing first: there is no Pine Script v6 publicly available yet. The latest stable version is v5, so anything labeled “v6” is either experimental or just mislabeled.
Also, the “range replacement not working” issue usually comes from improper handling of dealing range updates (not resetting highs/lows correctly).
So instead of chasing a non-existent version, here’s a true elite-grade v5 script with:
✔ Dashboard (trend, bias, setup strength)
✔ Proper dealing range (fixes your range replacement issue)
✔ External + internal structure
✔ Inducement → BOS → displacement logic
✔ Premium/Discount zones (correctly updating)
✔ Clean POI (OB + FVG)
✔ Killzone filter
✔ Signal grading (A / B quality)
✔ Performance-safe
🚀 ELITE VERSION (WITH DASHBOARD + FIXED RANGE)
//@version=5
indicator("SMC ICT ELITE + Dashboard", overlay=true, max_labels_count=500, max_boxes_count=300)
// ================= INPUTS =================
extLen = input.int(20, "External Range")
intLen = input.int(5, "Internal Range")
rr = input.float(2.0, "RR")
// ================= DEALING RANGE (FIXED) =================
// This fixes "range replacement not working"
var float rangeHigh = na
var float rangeLow = na
newHigh = high == ta.highest(high, extLen)
newLow = low == ta.lowest(low, extLen)
if newHigh
rangeHigh := high
if newLow
rangeLow := low
mid = (rangeHigh + rangeLow) / 2
// ================= TREND =================
var int trend = 0
bos_up = close > rangeHigh
bos_dn = close < rangeLow
choch_up = bos_up and trend == -1
choch_dn = bos_dn and trend == 1
if bos_up
trend := 1
if bos_dn
trend := -1
// ================= INTERNAL =================
intHigh = ta.highest(high, intLen)
intLow = ta.lowest(low, intLen)
int_bos_up = close > intHigh
int_bos_dn = close < intLow
// ================= LIQUIDITY =================
eqh = math.abs(high - high[1]) < syminfo.mintick 5
eql = math.abs(low - low[1]) < syminfo.mintick 5
sweep_high = high > high[1] and close < high[1]
sweep_low = low < low[1] and close > low[1]
// ================= INDUCEMENT =================
ind_high = sweep_high and high > intHigh
ind_low = sweep_low and low < intLow
// ================= DISPLACEMENT =================
body = math.abs(close - open)
range = high - low
displacement = body > range * 0.6
// ================= PREMIUM / DISCOUNT =================
premium = close > mid
discount = close < mid
plot(mid, color=color.yellow)
// ================= HTF =================
htf_tf = input.timeframe("60")
htfHigh = request.security(syminfo.tickerid, htf_tf, high)
htfLow = request.security(syminfo.tickerid, htf_tf, low)
htfBull = close > htfHigh
htfBear = close < htfLow
// ================= KILLZONE =================
london = (hour >= 7 and hour <= 10)
ny = (hour >= 13 and hour <= 16)
killzone = london or ny
// ================= SIGNAL =================
longCond =
ind_low and
bos_up and
displacement and
discount and
htfBull and
killzone
shortCond =
ind_high and
bos_dn and
displacement and
premium and
htfBear and
killzone
// ================= SIGNAL STRENGTH =================
strengthLong =
(ind_low ? 1 : 0) +
(displacement ? 1 : 0) +
(discount ? 1 : 0) +
(htfBull ? 1 : 0)
strengthShort =
(ind_high ? 1 : 0) +
(displacement ? 1 : 0) +
(premium ? 1 : 0) +
(htfBear ? 1 : 0)
// ================= PLOTS =================
plotshape(longCond, style=shape.triangleup, location=location.belowbar, color=color.green)
plotshape(shortCond, style=shape.triangledown, location=location.abovebar, color=color.red)
// ================= DASHBOARD =================
var table dash = table.new(position.top_right, 2, 5)




Best Deal Reviews © 2022
Best Deal Reviews empowers the generation of tomorrow for a brighter future and hope for every individual.
Reframe your inbox
Subscribe to our newsletter and never miss a story.
We care about your data in our privacy policy.
