Sideways & Breakout Detector + Forecast//@version=6
indicator("Sideways & Breakout Detector + Forecast", overlay=true, max_labels_count=500)
// Inputs
lengthATR = input.int(20, "ATR Länge")
lengthMA = input.int(50, "Trend MA Länge")
sqFactor = input.float(1.2, "Seitwärtsfaktor")
brkFactor = input.float(1.5, "Breakoutfaktor")
// ATR / Volatilität
atr = ta.atr(lengthATR)
atrSMA = ta.sma(atr, lengthATR)
// Basislinie / Trend
basis = ta.sma(close, lengthATR)
trendMA = ta.sma(close, lengthMA)
// Seitwärtsbedingung
isSideways = atr < atrSMA * sqFactor
// Breakouts
upperBreak = close > basis + atr * brkFactor
lowerBreak = close < basis - atr * brkFactor
// Vorhergesagter Ausbruch (Forecast)
// Wenn Seitwärtsphase + Kurs nahe obere oder untere Kanalgrenze
forecastBull = isSideways and (close > basis + 0.5 * atr)
forecastBear = isSideways and (close < basis - 0.5 * atr)
// Farben
barcolor(isSideways ? color.new(color.yellow, 40) : na)
barcolor(upperBreak ? color.green : na)
barcolor(lowerBreak ? color.red : na)
// Breakout-Bänder
plot(basis + atr * brkFactor, "Bull Break Zone", color=color.new(color.green, 60))
plot(basis - atr * brkFactor, "Bear Break Zone", color=color.new(color.red, 60))
// Labels (klein)
if isSideways
label.new(bar_index, close, "Seitwärts", color=color.yellow, style=label.style_label_center, size=size.tiny)
if upperBreak
label.new(bar_index, high, "Bull Breakout", color=color.green, style=label.style_label_up, size=size.tiny)
if lowerBreak
label.new(bar_index, low, "Bear Breakout", color=color.red, style=label.style_label_down, size=size.tiny)
// Vorhergesagte Ausbrüche markieren
plotshape(forecastBull, title="Forecast Bull", location=location.abovebar, color=color.new(color.green, 0), style=shape.triangleup, size=size.tiny)
plotshape(forecastBear, title="Forecast Bear", location=location.belowbar, color=color.new(color.red, 0), style=shape.triangledown, size=size.tiny)
// Alerts
alertcondition(isSideways, "Seitwärtsphase", "Der Markt läuft seitwärts.")
alertcondition(upperBreak, "Bull Breakout", "Ausbruch nach oben!")
alertcondition(lowerBreak, "Bear Breakout", "Ausbruch nach unten!")
alertcondition(forecastBull, "Forecast Bull", "Voraussichtlicher Bull-Ausbruch!")
alertcondition(forecastBear, "Forecast Bear", "Voraussichtlicher Bear-Ausbruch!")
頻帶和通道
Sniper Entry AU - AYUSHThis indicator combines EMA 9, EMA 15, and VWAP to identify trend direction and intraday strength. EMA 9 and EMA 15 show short-term momentum and crossover signals, while VWAP acts as an institutional reference point for fair value. Together, they help traders spot trend continuation, pullbacks, and high-quality entry zones during intraday sessions.
لbsm15// This work is licensed under a Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) creativecommons.org
// © LuxAlgo
//@version=5
indicator("لbsm15", overlay = true, max_lines_count = 500, max_boxes_count = 500, max_bars_back = 3000)
//------------------------------------------------------------------------------
//Settings
//-----------------------------------------------------------------------------{
liqGrp = 'Liquidity Detection'
liqLen = input.int (7, title = 'Detection Length', minval = 3, maxval = 13, inline = 'LIQ', group = liqGrp)
liqMar = 10 / input.float (6.9, 'Margin', minval = 4, maxval = 9, step = 0.1, inline = 'LIQ', group = liqGrp)
liqBuy = input.bool (true, 'Buyside Liquidity Zones, Margin', inline = 'Buyside', group = liqGrp)
marBuy = input.float(2.3, '', minval = 1.5, maxval = 10, step = .1, inline = 'Buyside', group = liqGrp)
cLIQ_B = input.color (color.new(#4caf50, 0), '', inline = 'Buyside', group = liqGrp)
liqSel = input.bool (true, 'Sellside Liquidity Zones, Margin', inline = 'Sellside', group = liqGrp)
marSel = input.float(2.3, '', minval = 1.5, maxval = 10, step = .1, inline = 'Sellside', group = liqGrp)
cLIQ_S = input.color (color.new(#f23645, 0), '', inline = 'Sellside', group = liqGrp)
lqVoid = input.bool (false, 'Liquidity Voids, Bullish', inline = 'void', group = liqGrp)
cLQV_B = input.color (color.new(#4caf50, 0), '', inline = 'void', group = liqGrp)
cLQV_S = input.color (color.new(#f23645, 0), 'Bearish', inline = 'void', group = liqGrp)
lqText = input.bool (false, 'Label', inline = 'void', group = liqGrp)
mode = input.string('Present', title = 'Mode', options = , inline = 'MOD', group = liqGrp)
visLiq = input.int (3, ' # Visible Levels', minval = 1, maxval = 50, inline = 'MOD', group = liqGrp)
//-----------------------------------------------------------------------------}
//General Calculations
//-----------------------------------------------------------------------------{
maxSize = 50
atr = ta.atr(10)
atr200 = ta.atr(200)
per = mode == 'Present' ? last_bar_index - bar_index <= 500 : true
//-----------------------------------------------------------------------------}
//User Defined Types
//-----------------------------------------------------------------------------{
// @type used to store pivot high/low data
//
// @field d (array) The array where the trend direction is to be maintained
// @field x (array) The array where the bar index value of pivot high/low is to be maintained
// @field y (array) The array where the price value of pivot high/low is to be maintained
type ZZ
int d
int x
float y
// @type bar properties with their values
//
// @field o (float) open price of the bar
// @field h (float) high price of the bar
// @field l (float) low price of the bar
// @field c (float) close price of the bar
// @field i (int) index of the bar
type bar
float o = open
float h = high
float l = low
float c = close
int i = bar_index
// @type liquidity object definition
//
// @field bx (box) box maitaing the liquity level margin extreme levels
// @field bxz (box) box maitaing the liquity zone margin extreme levels
// @field bxt (box) box maitaing the labels
// @field brZ (bool) mainains broken zone status
// @field brL (bool) mainains broken level status
// @field ln (line) maitaing the liquity level line
// @field lne (line) maitaing the liquity extended level line
type liq
box bx
box bxz
box bxt
bool brZ
bool brL
line ln
line lne
//-----------------------------------------------------------------------------}
//Variables
//-----------------------------------------------------------------------------{
var ZZ aZZ = ZZ.new(
array.new (maxSize, 0),
array.new (maxSize, 0),
array.new (maxSize, na)
)
bar b = bar.new()
var liq b_liq_B = array.new (1, liq.new(box(na), box(na), box(na), false, false, line(na), line(na)))
var liq b_liq_S = array.new (1, liq.new(box(na), box(na), box(na), false, false, line(na), line(na)))
var b_liq_V = array.new_box()
var int dir = na, var int x1 = na, var float y1 = na, var int x2 = na, var float y2 = na
//-----------------------------------------------------------------------------}
//Functions/methods
//-----------------------------------------------------------------------------{
// @function maintains arrays
// it prepends a `value` to the arrays and removes their oldest element at last position
// @param aZZ (UDT, array, array>) The UDT obejct of arrays
// @param _d (array) The array where the trend direction is maintained
// @param _x (array) The array where the bar index value of pivot high/low is maintained
// @param _y (array) The array where the price value of pivot high/low is maintained
//
// @returns none
method in_out(ZZ aZZ, int _d, int _x, float _y) =>
aZZ.d.unshift(_d), aZZ.x.unshift(_x), aZZ.y.unshift(_y), aZZ.d.pop(), aZZ.x.pop(), aZZ.y.pop()
// @function (build-in) sets the maximum number of bars that is available for historical reference
max_bars_back(time, 1000)
//-----------------------------------------------------------------------------}
//Calculations
//-----------------------------------------------------------------------------{
x2 := b.i - 1
ph = ta.pivothigh(liqLen, 1)
pl = ta.pivotlow (liqLen, 1)
if ph
dir := aZZ.d.get(0)
x1 := aZZ.x.get(0)
y1 := aZZ.y.get(0)
y2 := nz(b.h )
if dir < 1
aZZ.in_out(1, x2, y2)
else
if dir == 1 and ph > y1
aZZ.x.set(0, x2), aZZ.y.set(0, y2)
if per
count = 0
st_P = 0.
st_B = 0
minP = 0.
maxP = 10e6
for i = 0 to maxSize - 1
if aZZ.d.get(i) == 1
if aZZ.y.get(i) > ph + (atr / liqMar)
break
else
if aZZ.y.get(i) > ph - (atr / liqMar) and aZZ.y.get(i) < ph + (atr / liqMar)
count += 1
st_B := aZZ.x.get(i)
st_P := aZZ.y.get(i)
if aZZ.y.get(i) > minP
minP := aZZ.y.get(i)
if aZZ.y.get(i) < maxP
maxP := aZZ.y.get(i)
if count > 2
getB = b_liq_B.get(0)
if st_B == getB.bx.get_left()
getB.bx.set_top(math.avg(minP, maxP) + (atr / liqMar))
getB.bx.set_rightbottom(b.i + 10, math.avg(minP, maxP) - (atr / liqMar))
else
b_liq_B.unshift(
liq.new(
box.new(st_B, math.avg(minP, maxP) + (atr / liqMar), b.i + 10, math.avg(minP, maxP) - (atr / liqMar), bgcolor=color(na), border_color=color(na)),
box.new(na, na, na, na, bgcolor = color(na), border_color = color(na)),
box.new(st_B, st_P, b.i + 10, st_P, text = 'Buyside liquidity', text_size = size.tiny, text_halign = text.align_left, text_valign = text.align_bottom, text_color = color.new(cLIQ_B, 25), bgcolor = color(na), border_color = color(na)),
false,
false,
line.new(st_B , st_P, b.i - 1, st_P, color = color.new(cLIQ_B, 0)),
line.new(b.i - 1, st_P, na , st_P, color = color.new(cLIQ_B, 0), style = line.style_dotted))
)
alert('buyside liquidity level detected/updated for ' + syminfo.ticker)
if b_liq_B.size() > visLiq
getLast = b_liq_B.pop()
getLast.bx.delete()
getLast.bxz.delete()
getLast.bxt.delete()
getLast.ln.delete()
getLast.lne.delete()
if pl
dir := aZZ.d.get (0)
x1 := aZZ.x.get (0)
y1 := aZZ.y.get (0)
y2 := nz(b.l )
if dir > -1
aZZ.in_out(-1, x2, y2)
else
if dir == -1 and pl < y1
aZZ.x.set(0, x2), aZZ.y.set(0, y2)
if per
count = 0
st_P = 0.
st_B = 0
minP = 0.
maxP = 10e6
for i = 0 to maxSize - 1
if aZZ.d.get(i) == -1
if aZZ.y.get(i) < pl - (atr / liqMar)
break
else
if aZZ.y.get(i) > pl - (atr / liqMar) and aZZ.y.get(i) < pl + (atr / liqMar)
count += 1
st_B := aZZ.x.get(i)
st_P := aZZ.y.get(i)
if aZZ.y.get(i) > minP
minP := aZZ.y.get(i)
if aZZ.y.get(i) < maxP
maxP := aZZ.y.get(i)
if count > 2
getB = b_liq_S.get(0)
if st_B == getB.bx.get_left()
getB.bx.set_top(math.avg(minP, maxP) + (atr / liqMar))
getB.bx.set_rightbottom(b.i + 10, math.avg(minP, maxP) - (atr / liqMar))
else
b_liq_S.unshift(
liq.new(
box.new(st_B, math.avg(minP, maxP) + (atr / liqMar), b.i + 10, math.avg(minP, maxP) - (atr / liqMar), bgcolor=color(na), border_color=color(na)),
box.new(na, na, na, na, bgcolor=color(na), border_color=color(na)),
box.new(st_B, st_P, b.i + 10, st_P, text = 'Sellside liquidity', text_size = size.tiny, text_halign = text.align_left, text_valign = text.align_top, text_color = color.new(cLIQ_S, 25), bgcolor=color(na), border_color=color(na)),
false,
false,
line.new(st_B , st_P, b.i - 1, st_P, color = color.new(cLIQ_S, 0)),
line.new(b.i - 1, st_P, na , st_P, color = color.new(cLIQ_S, 0), style = line.style_dotted))
)
alert('sellside liquidity level detected/updated for ' + syminfo.ticker)
if b_liq_S.size() > visLiq
getLast = b_liq_S.pop()
getLast.bx.delete()
getLast.bxz.delete()
getLast.bxt.delete()
getLast.ln.delete()
getLast.lne.delete()
for i = 0 to b_liq_B.size() - 1
x = b_liq_B.get(i)
if not x.brL
x.lne.set_x2(b.i)
if b.h > x.bx.get_top()
x.brL := true
x.brZ := true
alert('buyside liquidity level breached for ' + syminfo.ticker)
x.bxz.set_lefttop(b.i - 1, math.min(x.ln.get_y1() + marBuy * (atr), b.h))
x.bxz.set_rightbottom(b.i + 1, x.ln.get_y1())
x.bxz.set_bgcolor(color.new(cLIQ_B, liqBuy ? 73 : 100))
else if x.brZ
if b.l > x.ln.get_y1() - marBuy * (atr) and b.h < x.ln.get_y1() + marBuy * (atr)
x.bxz.set_right(b.i + 1)
x.bxz.set_top(math.max(b.h, x.bxz.get_top()))
if liqBuy
x.lne.set_x2(b.i + 1)
else
x.brZ := false
for i = 0 to b_liq_S.size() - 1
x = b_liq_S.get(i)
if not x.brL
x.lne.set_x2(b.i)
if b.l < x.bx.get_bottom()
x.brL := true
x.brZ := true
alert('sellside liquidity level breached for ' + syminfo.ticker)
x.bxz.set_lefttop(b.i - 1, x.ln.get_y1())
x.bxz.set_rightbottom(b.i + 1, math.max(x.ln.get_y1() - marSel * (atr), b.l))
x.bxz.set_bgcolor(color.new(cLIQ_S, liqSel ? 73 : 100))
else if x.brZ
if b.l > x.ln.get_y1() - marSel * (atr) and b.h < x.ln.get_y1() + marSel * (atr)
x.bxz.set_rightbottom(b.i + 1, math.min(b.l, x.bxz.get_bottom()))
if liqSel
x.lne.set_x2(b.i + 1)
else
x.brZ := false
if lqVoid and per
bull = b.l - b.h > atr200 and b.l > b.h and b.c > b.h
bear = b.l - b.h > atr200 and b.h < b.l and b.c < b.l
if bull
l = 13
if bull
st = math.abs(b.l - b.l ) / l
for i = 0 to l - 1
array.push(b_liq_V, box.new(b.i - 2, b.l + i * st, b.i, b.l + (i + 1) * st, border_color = na, bgcolor = color.new(cLQV_B, 90) ))
else
st = math.abs(b.l - b.h ) / l
for i = 0 to l - 1
if lqText and i == 0
array.push(b_liq_V, box.new(b.i - 2, b.h + i * st, b.i, b.h + (i + 1) * st, text = 'Liquidity Void ', text_size = size.tiny, text_halign = text.align_right, text_valign = text.align_bottom, text_color = na, border_color = na, bgcolor = color.new(cLQV_B, 90) ))
else
array.push(b_liq_V, box.new(b.i - 2, b.h + i * st, b.i, b.h + (i + 1) * st, border_color = na, bgcolor = color.new(cLQV_B, 90) ))
if bear
l = 13
if bear
st = math.abs(b.h - b.h) / l
for i = 0 to l - 1
array.push(b_liq_V, box.new(b.i - 2, b.h + i * st, b.i, b.h + (i + 1) * st, border_color = na, bgcolor = color.new(cLQV_S, 90) ))
else
st = math.abs(b.l - b.h) / l
for i = 0 to l - 1
if lqText and i == l - 1
array.push(b_liq_V, box.new(b.i - 2, b.h + i * st, b.i, b.h + (i + 1) * st, text = 'Liquidity Void ', text_size = size.tiny, text_halign = text.align_right, text_valign = text.align_top, text_color = na, border_color = na, bgcolor = color.new(cLQV_S, 90) ))
else
array.push(b_liq_V, box.new(b.i - 2, b.h + i * st, b.i, b.h + (i + 1) * st, border_color = na, bgcolor = color.new(cLQV_S, 90) ))
if b_liq_V.size() > 0
qt = b_liq_V.size()
for bn = qt - 1 to 0
if bn < b_liq_V.size()
cb = b_liq_V.get(bn)
ba = math.avg(cb.get_bottom(), cb.get_top())
if math.sign(b.c - ba) != math.sign(b.c - ba) or math.sign(b.c - ba) != math.sign(b.l - ba) or math.sign(b.c - ba) != math.sign(b.h - ba)
b_liq_V.remove(bn)
else
cb.set_right(b.i + 1)
if b.i - cb.get_left() > 21
cb.set_text_color(color.new(color.gray, 25))
//-----------------------------------------------------------------------------}
SuperTrend Zone Rejection [STRZ] CONCEPT -
This indicator identifies trend-continuation setups by combining the Super Trend with dynamic Average True Range (ATR) value zones. It highlights specific price action behaviour's—specifically wick rejections and momentum closes—that occur during pullbacks into the trend baseline.
HOW IT WORKS -
The script operates on three logic gates:
>> Trend Filter: Uses a standard Super Trend (Factor 3, Period 10 default) to define market direction.
>> Dynamic Zones: Projects a volatility-based zone (default 2.0x ATR) above or below the Super Trend line to define a valid pullback area.
>> Signal Detection: Identifies specific candle geometries occurring within these zones.
>> Rejection: Candles with significant wicks testing the zone support/resistance.
>> Momentum: Candles that open within the zone and close in the upper/lower quartile of their range.
FEATURES -
>> Dynamic Channel: Visualizes the active buy/sell zone using a continuous, non-repainting box.
>> Volatile Filtering: Filters out low-volatility candles (doji's/noise) based on minimum ATR size.
>> Visuals: Color-coded trend visualization with distinct signal markers for qualified entries.
SETTINGS -
>> Super Trend: Adjustable Factor and ATR Period.
>> Zone Multiplier: Controls the width of the pullback zone relative to ATR.
>> Visuals: Customizable colours for zones and signals to fit light/dark themes.
Highlight Running 30m CandleThis script highlight 30 minute running candle.
mostly used for crypto trading
Avengers Ultimate V5 (Watch Profit)"Designed as a trend-following system, this strategy integrates the core principles of legends like Mark Minervini, Stan Weinstein, William O'Neil, and Jesse Livermore. It has been fine-tuned for the Korean market and provides distinct entry and exit protocols for different market scenarios."
Sk M Sir JiSimple indicator that plots three alma moving averages and provides bgcolor based on below conditions
Red => If RSI (length 14) is below 50 or low is below the lower Bollinger band (length 20)
Green => If RSI (length 14) is above 50 or high is above the upper Bollinger band (length 20)
Buy/Sell Signals [WynTrader]Hello dear Friend
Here is a new version ( B-S_251121_wt ) of my Buy/Sell Signals indicator.
Some calculation updates and useful enhancements have been applied.
Concepts
This Buy/Sell Signals indicator generates Buy/Sell signals as accurately as possible, identifying trend changes. Compared to other tools that detect trend shifts, this one is simple, easy to use, and demonstrates its efficiency on its own.
- Its features are carefully designed to minimize false signals while ensuring optimal signal placement.
- The Table results allow you to quickly evaluate signal performance, both on their own and compared to a Buy & Hold strategy.
- The Table calculations are fully synchronized with the visible chart (WYSIWYG – What You See Is What You Get). You can also scroll the chart across different date ranges to see how a stock or product performs under various market conditions.
- Seeing Buy/Sell signals on a chart is appealing, but assessing their performance in a Table makes it even more convincing. And without running a full backtest, you can get a clear overview of overall performance immediately.
Features
This indicator generates Buy/Sell signals using:
- Fast and Slow Moving Averages (adjustable).
- Bollinger Bands (adjustable).
- Filters (optional, adjustable) to refine signals, including : Bollinger Bands Lookback Trend Filter; High-Low vs Candle Range Threshold %; Distance from Fast and Slow MAs Threshold %.
- Results are displayed in a Table on the chart, based on the currently visible start and end dates.
Functionality
- The indicator aims to confirm trend changes through timely Buy/Sell signals.
- It uses two Moving Averages and Bollinger Bands, combined with filters such as BB Lookback, -- The variable settings have been tested with a mix of manual and AI testing to find the optimal configuration. You can adjust the variables to suit your goals.
- The design is simple, with clear parameters and instant readability of Buy/Sell Signals on the chart and in the Table results, without complex interpretation needed.
- It works effectively by requiring both trend confirmation and volatility control management.
- Signals are timed to be as accurate as possible, avoiding futile weak or false ones.
- A Table shows the effectiveness of the signals on the current visible chart, providing immediate, realistic feedback. The Buy & Hold strategy results are also included for comparison with the Buy/Sell swing strategy. The Buy & Hold results start from the first Buy signal to ensure a fair comparison.
- Changing the parameters instantly updates the Table, giving a quick, at-a-glance performance check.
Caution
- No technical tool is perfect; it cannot predict disasters, wars, or the actions of large fund managers or short sellers.
- After testing thousands of TradingView indicators over 24 years, I’ve found none to be 100% accurate all the time.
- This Buy/Sell Signals indicator may outperform some others but is still not perfect.
So, just be aware, and don’t be fooled by this tool.
Modello Espansione 1 – Monday Range + ClustersONLY M1 to M30. Don't work on H1 or more. Don't know how i'm watching 😳
TDI DIVERGENCEThis indicator, along with the TDI indicator: http , can offer trusted signals to enter and exit.
and just can be used as a complete trading system.
You can send your feedback and comments to my email
Displacement Intelligence Channel (DIC) @darshaksscThe Displacement Intelligence Channel (DIC) is a clean, minimal, non-repainting analytical tool designed to help traders observe how price behaves around its dynamic equilibrium.
It does not generate buy/sell signals, does not predict future price movement, and should not be interpreted as financial advice.
All calculations are based strictly on confirmed historical bars.
⭐ What This Indicator Does
Price constantly fluctuates between expansion (large moves) and compression (small moves).
The DIC analyzes these changes through:
Displacement (how far price moves per bar)
ATR response (how volatility reacts over time)
Dynamic width calculation (channel widens or tightens as volatility changes)
EMA-based core midline (a smooth equilibrium reference)
The result is a smart two-line channel that adapts to market conditions without cluttering the chart.
This is NOT a fair value gap, moving average ribbon, or premium/discount model.
It is a purely mathematical displacement-ATR engine.
⭐ How It Works
The indicator builds three elements:
1. Intelligence Midline
A smooth EMA that acts as the channel’s core “equilibrium.”
It gives a stable reference of where price is gravitating during the current session or trend.
2. Adaptive Upper Boundary
Calculated using displacement + ATR.
When volatility increases, the channel expands outward.
When volatility compresses, the channel tightens.
3. Adaptive Lower Boundary
Mirrors the upper boundary.
Also expands and contracts based on market conditions.
All lines update only on confirmed bar closes, keeping the script non-repainting.
⭐ What to Look For (Purely Analytical)
This indicator does not imply trend continuation, reversal, or breakout.
Instead, here’s what traders typically observe:
1. Price Reactions Around the Midline
Price often oscillates around the midline during equilibrium phases.
Strong deviation from the midline highlights expansion or momentum phases.
2. Channel Expansion / Contraction
Wider channel → increased volatility, displacement, and uncertainty
Tighter channel → compression and calm conditions
Traders may use this for context only — not for decision-making.
3. Respect of Channel Boundary
When market structure respects the upper/lower channel lines, it simply indicates volatility boundaries, not overbought/oversold conditions.
⭐ How to Add This Indicator
Open TradingView
Select any chart
Click Indicators → Invite-Only Scripts / My Scripts
Choose “Displacement Intelligence Channel (DIC)”
The channel will appear automatically on the chart
⭐ Recommended Settings (Optional)
These settings do not change signals (because the indicator has none).
They only adjust sensitivity:
Center EMA Length (default 34)
Smoother or faster midline
Displacement Lookback (default 21)
Controls how much recent displacement affects width
ATR Lookback (default 21)
Governs how volatility is interpreted
Min/Max Multipliers
Limits how tight or wide the channel can expand
Adjust them cautiously for different timeframes or asset classes.
⭐ Important Notes
This tool is non-repainting
It does not use future data
It does not repaint previous channel widths
It follows TradingView House Rules
It contains no signals, no alerts, and no predictions
The DIC is designed for visual context only and should be used as an analytical overlay, not as a stand-alone decision tool.
⭐ Disclaimer
This script is strictly for informational and educational purposes only.
It does not provide or imply any trading signals, financial advice, or expected outcomes.
Always do your own research and consult a licensed financial professional before making trading decisions.
HD Trades📊 ICT Confluence Toolkit (FVG, OB, SMT)
This All-in-One indicator is designed for Smart Money Concepts (SMC) traders, providing visual confirmation and signaling for three critical Inner Circle Trader (ICT) tools directly on your chart: Fair Value Gaps (FVG), Order Blocks (OB), and Smart Money Technique (SMT) Divergence.
It eliminates the need to load multiple indicators, streamlining your analysis for high-probability setups.
🔑 Key Features
1. Fair Value Gaps (FVG)
Automatic Detection: Instantly highlights bullish (buy-side) and bearish (sell-side) imbalances using the standard three-candle pattern.
Real-Time Mitigation: Gaps are drawn until price trades into the FVG zone, at which point the indicator automatically "mitigates" and removes the box, ensuring your chart stays clean.
2. Order Blocks (OB)
Impulse-Based Logic: Identifies valid Order Blocks (the last opposing candle) confirmed by a strong, structure-breaking impulse move, quantified using an Average True Range (ATR) multiplier for dynamic sensitivity.
Mitigation Tracking: Bullish OBs are tracked until broken below the low, and Bearish OBs until broken above the high, distinguishing between active supply/demand zones.
3. SMT Divergence (Smart Money Technique)
Multi-Asset Comparison: Utilizes the Pine Script request.security() function to compare the swing structure of the current chart against a correlated asset (e.g., EURUSD vs. GBPUSD, or ES vs. NQ).
Signal Labels: Plots clear 🐂 SMT (Bullish) or 🐻 SMT (Bearish) labels directly on the chart when a divergence in market extremes is detected, signaling a potential reversal or continuation based on internal market weakness.
⚙️ Customization
All three components are toggleable and feature customizable colors and lookback periods, allowing you to fine-tune the indicator to your specific trading strategy and preferred timeframes.
Crucial Setup: For SMT Divergence to function, you must enter a correlated symbol (e.g., NQ1!, ES1!, or a related Forex pair) in the indicator settings.
Daily 12/21 EMA OverlayDaily 12/21 EMA Overlay
This indicator projects the daily 12 and 21 EMAs onto any timeframe as a soft, semi-transparent band. It is designed to give a constant higher-timeframe bias and dynamic support/resistance reference while you execute your systems on lower timeframes (4H, 1H, 15m, etc.).
The script uses request.security() to calculate the 12/21 EMAs on the daily chart only, then overlays those values on your current timeframe without recalculating them locally. This means the band always represents the true daily 12/21 EMAs, regardless of the chart you are viewing.
Key Features:
Fixed daily 12/21 EMA band, visible on all timeframes
Faded lines and fill to keep focus on your active intraday tools
Simple, minimal inputs (fast length, slow length, colors, band visibility)
Ideal as a higher-timeframe “backdrop” for systems built around EMA trend, rejections, or liquidity sweeps
How to Use
Add the indicator on any symbol and timeframe
Keep your normal intraday EMAs (e.g., EMA 12/21) for execution
Note: You can change the bands to not just be 12 or 21, you can change them if needed for your own systems or emas that you use.
This tool is intentionally lightweight: it does one job—showing the true daily EMA structure across all timeframes—and leaves trade execution logic to your primary system.
J&A Sessions & NewsProject J&A: Session Ranges is a precision-engineered tool designed for professional traders who operate based on Time & Price. Unlike standard session indicators that clutter the chart with background colors, this tool focuses on Dynamic Price Ranges to help you visualize the Highs, Lows, and liquidity pools of each session.
It is pre-configured for Frankfurt Time (Europe/Berlin) but is fully customizable for any global location.
Key Features
1. Dynamic Session Ranges (The Boxes) Instead of vertical stripes, this indicator draws Boxes that encapsulate the entire price action of a session.
Real-Time Tracking: The box automatically expands to capture the Highest High and Lowest Low of the current session.
Visual Clarity: Instantly see the trading range of Asia, London, and New York to identify breakouts or range-bound conditions.
2. The "Lunch Break" Logic (Unique Feature) Institutional volume often dies down during lunch hours. This indicator allows you to Split the Session to account for these breaks.
Enabled: The script draws two separate boxes (Morning Session vs. Afternoon Session), allowing you to see fresh ranges after the lunch accumulation.
Disabled: The script draws one continuous box for the full session.
3. Manual High-Impact News Scheduler Never get caught on the wrong side of a spike. Since TradingView scripts cannot access live calendars, this tool includes a Manual Scheduler for risk management.
Input: Simply input the time of high-impact events (e.g., CPI, NFP) from ForexFactory into the settings.
Visual: A dashed line appears on the chart at the exact news time.
Audio Alert: The system triggers an alarm 10 minutes before the event, giving you time to manage positions or exit trades.
Default Configuration (Frankfurt Time)
Asian Session: 01:00 - 10:00 (Lunch disabled)
London Session: 09:00 - 17:30 (Lunch: 12:00-13:00)
New York Session: 14:00 - 22:00 (Lunch: 18:00-19:00)
How to Use
Setup: Apply the indicator. The default timezone is Europe/Berlin. If you live elsewhere, simply change the "Your Timezone" setting to your local time (e.g., America/New_York), and the boxes will align automatically.
Daily Routine: Check the economic calendar in the morning. If there is a "Red Folder" event at 14:30, open the indicator settings and enter 14:30 into the News Scheduler.
Trade: Use the Session Highs and Lows as liquidity targets or breakout levels.
Settings & Customization
Timezone: Full support for major global trading hubs.
Colors: Customize the Box fill and Border colors for every session.
Labels: Rename sessions (e.g., "Tokyo" instead of "Asia") via the settings menu.
CSP Institutional Filter PRO This indicator evaluates whether a ticker qualifies for a high-probability Cash-Secured Put (CSP) based on an institutional options-selling framework. It checks RSI, momentum, support levels, ATR-based risk, IVR, DTE, and earnings timing to determine if the setup meets either the Standard CSP Module (30–45 DTE) or the Pre-Earnings CSP Module (7–21 days before earnings). The script visually marks valid setups, highlights risk zones, and provides an on-chart diagnostic summary.
Ichimoku Green BG by Pranojit DeyThis indicator shows ichimoku bulliush trend background so that the option buyers can understand bullish trend easily.
PIVOT AND ICHIMOKU BACKGROUND BY PRANOJIT DEYIt shows pivot bias in relation to day open line and it also shows ichimoku bullish trend background. good for option buyers to understand market bias.
Key Levels by Romulus V2This is the updated key levels script I added dynamic levels that change throughout the day opening range high and low and customizable settings to adjust.
Keltner Channels - signal providerThis enhanced channel for pro traders visually indicates enhanced entry or exit signal based on the position of the underlying within the channel. Remember: EVERY TREND HAS ITS RETRACEMENTS - with this indicator you will avoid entering in full uptrend (bearing more downside risk than upside) or exiting (shorting) at max downtrend.
To be used together with the trend on higher timeframes (especially for the interpretation of the baseline)
Upper part = potential sell signal (especially in overall downtrends)
Lower part = potential buy signal (especially in overall uptrends)
Basis = potential buy signal (especially in strong uptrends)
= potential sell signal (especially in overall downtrends)
Long-Term Strategy: 1-Year Breakout + 6-Month ExitDescripción (Description): (Copia y pega todo lo que está dentro del recuadro de abajo)
Description
This is a long-term trend-following strategy designed to capture major market moves while filtering out short-term noise. It is based on the classic principle of "buying strength" (Breakouts) and allowing profits to run, while cutting losses when the medium-term trend reverses.
How it Works (Logic)
1. Entry Condition (Long Only): The strategy looks for a significant display of strength. It enters a Long position only when two conditions are met simultaneously:
Price Breakout: The closing price exceeds the highest high of the last 252 trading days (approximately 1 year). This ensures we are entering during a strong momentum phase.
Trend Filter: The SuperTrend indicator (Settings: ATR 10, Factor 3.0) must be bullish. This acts as a confirmation filter to avoid false breakouts in choppy markets.
2. Exit Condition: The strategy uses a trailing stop based on price action, not a fixed percentage.
It closes the position when the price closes below the lowest low of the last 126 trading days (approximately 6 months).
This wide exit allows the trade to "breathe" during normal market corrections without exiting the position prematurely.
Settings & Risk Management
Capital Usage: The script is configured to use 10% of equity per trade to reflect realistic risk management (compounding).
Commissions: Included at 0.1% to simulate real trading costs.
Slippage: Included (3 ticks) to account for market execution variability.
Best Use: This strategy is intended for higher timeframes (Daily or Weekly) on trending assets like Indices, Crypto, or Commodities.
Volume Weighted Average Price - 6 band by buckstrdrstandard VWAP improved to allow 6 bands as standard
Supertrend + DEMA Strategy ( customised & Switchable, Fixed TP)Supertrend line – a moving line that follows the price and shows whether the market is trending up or down.
If the price goes above this line, it usually means the market is going up.
If the price goes below, it usually means the market is going down.
DEMA (Double Exponential Moving Average) – another line that smooths out price movements to spot trends more clearly.
It calculates an average of prices but reacts faster than a normal moving average.
Support Resistance📌 1. Indicator Name
Premium Auto Support & Resistance
📌 2. One-Line Description
An automated S/R system that generates support and resistance zones based on swing highs and lows, displaying them in a premium visual style directly on the chart.
📌 3. Overall Summary (7+ lines)
This indicator automatically detects price levels where the market has repeatedly reacted and generates support and resistance zones.
Instead of simple horizontal lines, it visualizes reaction ranges as zones, helping traders clearly understand the actual price areas where activity occurs.
It uses swing points (high/low pivots) as the fundamental basis and continuously updates only the most meaningful recent S/R levels.
A smoothing process is applied, reducing noise and creating more natural, reliable S/R zones.
Support and resistance are displayed as filled transparency-based zones, enabling intuitive identification of zone strength and market position.
When price touches one of these zones, a small signal appears to highlight potential reversal points.
All elements are plotted directly over the candles with overlay=true, making it an instantly usable and visually premium tool.
📌 4. Advantages (6 items)
① Automatic Swing-Based S/R Detection
Automatically analyzes key pivot points and extracts only the most meaningful support and resistance levels.
② Support/Resistance Zone Structure
Provides intuitive reaction ranges instead of single lines, making it far more practical for real trading.
③ Smooth Premium-Style Lines
S/R lines are smoothed to remove noise, maintaining a natural and refined premium visual appearance.
④ Automatic Candle-Touch Alerts
Displays signals whenever price touches support or resistance, helping you quickly identify potential reversal areas.
⑤ Overlay-Based Immediate Clarity
Drawn directly onto the chart without occupying indicator windows, keeping visual focus on price action.
⑥ Simple Yet Powerful Framework
A pivot + smoothing + zone combination that strengthens automatic S/R detection while remaining easy for beginners to use.






















