VCP ScreenerThis screener:
• 	Detect tight price contraction using ATR
• 	Check for volume contraction
• 	Confirm trend strength using moving averages
• 	Flag stocks near recent resistance
Volatilidad
Inyerneck UT Bot 9 EMA V.sthis script is a custom ut bot signal generator using a 9 ema filter and atr based thresholds. it shows buy/sell signals based on crossover logic and works well for volitality based set ups. created by inyerneck
Sesiones Globales 🌍 Londres / Wall Street / Tokio / SydneyA clean visualization of the four main trading sessions — all shown in Argentina time (UTC−3) for easier global market tracking.
🕒 Sessions covered:
London 🇬🇧 — 05:00 to 13:30
Wall Street 🇺🇸 — 11:30 to 18:00
Tokyo 🇯🇵 — 21:00 to 03:00
Sydney 🇦🇺 — 20:00 to 02:00
✨ Features:
Soft background colors for each market session (non-intrusive and chart-friendly)
“OPEN” and “CLOSE” labels in matching session colors
Correct weekend handling — Tokyo and Sydney extend into early Saturday mornings (no false sessions shown)
Works on any asset — BTC, SP500, FX, or indices
Designed for dark charts and visual clarity
🎯 Why use it:
See where global liquidity overlaps, detect volatility zones, and plan your trades around real session activity — especially helpful for BTC and SP500 traders following institutional flow.
💡 Tip: All times are set to Argentina (UTC−3) by default. Adjust manually if you prefer another timezone.
 RSI Overbought/Oversold + Divergence Indicator (new)//@version=5
indicator('CryptoSignalScanner - RSI Overbought/Oversold + Divergence Indicator (new)', 
//---------------------------------------------------------------------------------------------------------------------------------
//--- Define Colors ---------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------
vWhite  = #FFFFFF
vViolet = #C77DF3
vIndigo = #8A2BE2
vBlue   = #009CDF
vGreen  = #5EBD3E
vYellow = #FFB900
vRed    = #E23838
longColor  = color.green
shortColor = color.red
textColor  = color.white
bullishColor = color.rgb(38,166,154,0) //Used in the display table
bearishColor = color.rgb(239,83,79,0) //Used in the display table
nomatchColor = color.silver //Used in the display table
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--- Functions--------------------------------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
TF2txt(TF) =>
    switch TF
        "S"    => "RSI 1s:"
        "5S"    => "RSI 5s:"
        "10S"   => "RSI 10s:"
        "15S"   => "RSI 15s:"
        "30S"   => "RSI 30s"
        "1"     => "RSI 1m:"
        "3"     => "RSI 3m:"
        "5"     => "RSI 5m:"
        "15"    => "RSI 15m:"
        "30"    => "RSI 30m"
        "45"    => "RSI 45m"
        "60"    => "RSI 1h:"
        "120"   => "RSI 2h:"
        "180"   => "RSI 3h:"
        "240"   => "RSI 4h:"
        "480"   => "RSI 8h:"
        "D"     => "RSI 1D:"
        "1D"    => "RSI 1D:"
        "2D"    => "RSI 2D:"
        "3D"    => "RSI 2D:"
        "3D"    => "RSI 3W:"
        "W"     => "RSI 1W:"
        "1W"    => "RSI 1W:"
        "M"     => "RSI 1M:"
        "1M"    => "RSI 1M:"
        "3M"    => "RSI 3M:"
        "6M"    => "RSI 6M:"
        "12M"   => "RSI 12M:"
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--- Show/Hide Settings ----------------------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
rsiShowInput          = input(true, title='Show RSI', group='Show/Hide Settings')
maShowInput           = input(false, title='Show MA', group='Show/Hide Settings')
showRSIMAInput        = input(true, title='Show RSIMA Cloud', group='Show/Hide Settings')
rsiBandShowInput      = input(true, title='Show Oversold/Overbought Lines', group='Show/Hide Settings')
rsiBandExtShowInput   = input(true, title='Show Oversold/Overbought Extended Lines', group='Show/Hide Settings')
rsiHighlightShowInput = input(true, title='Show Oversold/Overbought Highlight Lines', group='Show/Hide Settings')
DivergenceShowInput   = input(true, title='Show RSI Divergence Labels', group='Show/Hide Settings')
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--- Table Settings --------------------------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
rsiShowTable      = input(true, title='Show RSI Table Information box', group="RSI Table Settings")
rsiTablePosition  = input.string(title='Location', defval='middle_right', options= , group="RSI Table Settings", inline='1')
rsiTextSize       = input.string(title=' Size', defval='small', options= , group="RSI Table Settings", inline='1')
rsiShowTF1 = input(true, title='Show TimeFrame1', group="RSI Table Settings", inline='tf1')
rsiTF1     = input.timeframe("15", title=" Time", group="RSI Table Settings", inline='tf1')
rsiShowTF2 = input(true, title='Show TimeFrame2', group="RSI Table Settings", inline='tf2')
rsiTF2     = input.timeframe("60", title=" Time", group="RSI Table Settings", inline='tf2')
rsiShowTF3 = input(true, title='Show TimeFrame3', group="RSI Table Settings", inline='tf3')
rsiTF3     = input.timeframe("240", title=" Time", group="RSI Table Settings", inline='tf3')
rsiShowTF4 = input(true, title='Show TimeFrame4', group="RSI Table Settings", inline='tf4')
rsiTF4     = input.timeframe("D", title=" Time", group="RSI Table Settings", inline='tf4')
rsiShowHist = input(true, title='Show RSI Historical Columns', group="RSI Table Settings", tooltip='Show the information of the 2 previous closed candles')
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--- RSI Input Settings ----------------------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
rsiSourceInput  = input.source(close, 'Source', group='RSI Settings')
rsiLengthInput  = input.int(14, minval=1, title='RSI Length', group='RSI Settings', tooltip='Here we set the RSI lenght')
rsiColorInput   = input.color(#26a69a, title="RSI Color",  group='RSI Settings')
rsimaColorInput = input.color(#ef534f, title="RSIMA Color",  group='RSI Settings')
rsiBandColorInput = input.color(#787B86, title="RSI Band Color",  group='RSI Settings')
rsiUpperBandExtInput = input.int(title='RSI Overbought Extended Line', defval=80, minval=50, maxval=100, group='RSI Settings')
rsiUpperBandInput   = input.int(title='RSI Overbought Line', defval=70, minval=50, maxval=100, group='RSI Settings')
rsiLowerBandInput   = input.int(title='RSI Oversold Line', defval=30, minval=0, maxval=50, group='RSI Settings')
rsiLowerBandExtInput = input.int(title='RSI Oversold Extended Line', defval=20, minval=0, maxval=50, group='RSI Settings')
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--- MA Input Settings -----------------------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
maTypeInput = input.string("EMA", title="MA Type", options= , group="MA Settings")
maLengthInput = input.int(14, title="MA Length", group="MA Settings")
maColorInput = input.color(color.yellow, title="MA Color",  group='MA Settings') //#7E57C2
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--- Divergence Input Settings ---------------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
lbrInput        = input(title="Pivot Lookback Right", defval=2, group='RSI Divergence Settings')
lblInput        = input(title="Pivot Lookback Left", defval=2, group='RSI Divergence Settings')
lbRangeMaxInput = input(title="Max of Lookback Range", defval=10, group='RSI Divergence Settings')
lbRangeMinInput = input(title="Min of Lookback Range", defval=2, group='RSI Divergence Settings')
plotBullInput       = input(title="Plot Bullish", defval=true, group='RSI Divergence Settings')
plotHiddenBullInput = input(title="Plot Hidden Bullish", defval=true, group='RSI Divergence Settings')
plotBearInput       = input(title="Plot Bearish", defval=true, group='RSI Divergence Settings')
plotHiddenBearInput = input(title="Plot Hidden Bearish", defval=true, group='RSI Divergence Settings')
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--- RSI Calculation -------------------------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
rsi         = ta.rsi(rsiSourceInput, rsiLengthInput)
rsiprevious = rsi 
  = request.security(syminfo.tickerid, rsiTF1,  [rsi, rsi , rsi ], lookahead=barmerge.lookahead_on)
  = request.security(syminfo.tickerid, rsiTF2,  [rsi, rsi , rsi ], lookahead=barmerge.lookahead_on)
  = request.security(syminfo.tickerid, rsiTF3,  [rsi, rsi , rsi ], lookahead=barmerge.lookahead_on)
  = request.security(syminfo.tickerid, rsiTF4,  [rsi, rsi , rsi ], lookahead=barmerge.lookahead_on)
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--- MA Calculation -------------------------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
ma(source, length, type) =>
    switch type
        "SMA" => ta.sma(source, length)
        "Bollinger Bands" => ta.sma(source, length)
        "EMA" => ta.ema(source, length)
        "SMMA (RMA)" => ta.rma(source, length)
        "WMA" => ta.wma(source, length)
        "VWMA" => ta.vwma(source, length)
rsiMA         = ma(rsi, maLengthInput, maTypeInput)
rsiMAPrevious = rsiMA 
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--- Stoch RSI Settings + Calculation --------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
showStochRSI    = input(false, title="Show Stochastic RSI", group='Stochastic RSI Settings')
smoothK         = input.int(title="Stochastic K", defval=3, minval=1,  maxval=10, group='Stochastic RSI Settings')
smoothD         = input.int(title="Stochastic D", defval=4, minval=1,  maxval=10, group='Stochastic RSI Settings')
lengthRSI       = input.int(title="Stochastic RSI Lenght", defval=14, minval=1, group='Stochastic RSI Settings')
lengthStoch     = input.int(title="Stochastic Lenght", defval=14, minval=1, group='Stochastic RSI Settings')
colorK          = input.color(color.rgb(41,98,255,0), title="K Color",  group='Stochastic RSI Settings', inline="1")
colorD          = input.color(color.rgb(205,109,0,0), title="D Color",  group='Stochastic RSI Settings', inline="1")
StochRSI    = ta.rsi(rsiSourceInput, lengthRSI)
k       = ta.sma(ta.stoch(StochRSI, StochRSI, StochRSI, lengthStoch), smoothK) //Blue Line
d       = ta.sma(k, smoothD) //Red Line
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--- Divergence Settings ------------------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
bearColor = color.red
bullColor = color.green
hiddenBullColor = color.new(color.green, 50)
hiddenBearColor = color.new(color.red, 50)
//textColor = color.white
noneColor = color.new(color.white, 100)
osc = rsi
plFound = na(ta.pivotlow(osc, lblInput, lbrInput)) ? false : true
phFound = na(ta.pivothigh(osc, lblInput, lbrInput)) ? false : true
_inRange(cond) =>
	bars = ta.barssince(cond == true)
	lbRangeMinInput <= bars and bars <= lbRangeMaxInput 
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--- Define Plot & Line Colors ---------------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
rsiColor = rsi >= rsiMA ? rsiColorInput : rsimaColorInput
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--- Plot Lines ------------------------------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
// Create a horizontal line at a specific price level
myLine = line.new(bar_index , 75, bar_index, 75, color = color.rgb(187, 14, 14), width = 2)
bottom = line.new(bar_index , 50, bar_index, 50, color = color.rgb(223, 226, 28), width = 2)
mymainLine = line.new(bar_index , 60, bar_index, 60, color = color.rgb(13, 154, 10), width = 3)
hline(50, title='RSI Baseline', color=color.new(rsiBandColorInput, 50), linestyle=hline.style_solid, editable=false)   
hline(rsiBandExtShowInput ? rsiUpperBandExtInput : na,  title='RSI Upper Band',  color=color.new(rsiBandColorInput, 10), linestyle=hline.style_dashed, editable=false)  
hline(rsiBandShowInput ? rsiUpperBandInput : na,  title='RSI Upper Band',  color=color.new(rsiBandColorInput, 10), linestyle=hline.style_dashed, editable=false) 
hline(rsiBandShowInput ? rsiLowerBandInput : na,  title='RSI Upper Band',  color=color.new(rsiBandColorInput, 10), linestyle=hline.style_dashed, editable=false) 
hline(rsiBandExtShowInput ? rsiLowerBandExtInput : na,  title='RSI Upper Band',  color=color.new(rsiBandColorInput, 10), linestyle=hline.style_dashed, editable=false)
bgcolor(rsiHighlightShowInput ? rsi >= rsiUpperBandExtInput ? color.new(rsiColorInput, 70) : na : na, title="Show Extended Oversold Highlight", editable=false)
bgcolor(rsiHighlightShowInput ? rsi >= rsiUpperBandInput ? rsi < rsiUpperBandExtInput ? color.new(#64ffda, 90) : na : na: na, title="Show Overbought Highlight", editable=false)
bgcolor(rsiHighlightShowInput ? rsi <= rsiLowerBandInput ? rsi > rsiLowerBandExtInput ? color.new(#F43E32, 90) : na : na : na, title="Show Extended Oversold Highlight", editable=false)
bgcolor(rsiHighlightShowInput ? rsi <= rsiLowerBandInput ? color.new(rsimaColorInput, 70) : na : na, title="Show Oversold Highlight", editable=false)
maPlot     = plot(maShowInput ? rsiMA : na, title='MA', color=color.new(maColorInput,0), linewidth=1)
rsiMAPlot  = plot(showRSIMAInput ? rsiMA : na, title="RSI EMA", color=color.new(rsimaColorInput,0), editable=false, display=display.none)
rsiPlot    = plot(rsiShowInput ? rsi : na, title='RSI', color=color.new(rsiColor,0), linewidth=1)
fill(rsiPlot, rsiMAPlot, color=color.new(rsiColor, 60), title="RSIMA Cloud")
plot(showStochRSI ? k : na, title='Stochastic K', color=colorK, linewidth=1)
plot(showStochRSI ? d : na, title='Stochastic D', color=colorD, linewidth=1)
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--- Plot Divergence -------------------------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
// Regular Bullish
// Osc: Higher Low
oscHL = osc  > ta.valuewhen(plFound, osc , 1) and _inRange(plFound )
// Price: Lower Low
priceLL = low  < ta.valuewhen(plFound, low , 1)
bullCond = plotBullInput and priceLL and oscHL and plFound
plot(
     plFound ? osc  : na,
     offset=-lbrInput,
     title="Regular Bullish",
     linewidth=2,
     color=(bullCond ? bullColor : noneColor)
     )
plotshape(
     DivergenceShowInput ? bullCond ? osc  : na : na,
     offset=-lbrInput,
     title="Regular Bullish Label",
     text=" Bull ",
     style=shape.labelup,
     location=location.absolute,
     color=bullColor,
     textcolor=textColor
     )
//------------------------------------------------------------------------------
// Hidden Bullish
// Osc: Lower Low
oscLL = osc  < ta.valuewhen(plFound, osc , 1) and _inRange(plFound )
// Price: Higher Low
priceHL = low  > ta.valuewhen(plFound, low , 1)
hiddenBullCond = plotHiddenBullInput and priceHL and oscLL and plFound
plot(
	 plFound ? osc  : na,
	 offset=-lbrInput,
	 title="Hidden Bullish",
	 linewidth=2,
	 color=(hiddenBullCond ? hiddenBullColor : noneColor)
	 )
plotshape(
	 DivergenceShowInput ? hiddenBullCond ? osc  : na : na,
	 offset=-lbrInput,
	 title="Hidden Bullish Label",
	 text=" H Bull ",
	 style=shape.labelup,
	 location=location.absolute,
	 color=bullColor,
	 textcolor=textColor
	 )
//------------------------------------------------------------------------------
// Regular Bearish
// Osc: Lower High
oscLH = osc  < ta.valuewhen(phFound, osc , 1) and _inRange(phFound )
// Price: Higher High
priceHH = high  > ta.valuewhen(phFound, high , 1)
bearCond = plotBearInput and priceHH and oscLH and phFound
plot(
	 phFound ? osc  : na,
	 offset=-lbrInput,
	 title="Regular Bearish",
	 linewidth=2,
	 color=(bearCond ? bearColor : noneColor)
	 )
plotshape(
	 DivergenceShowInput ? bearCond ? osc  : na : na,
	 offset=-lbrInput,
	 title="Regular Bearish Label",
	 text=" Bear ",
	 style=shape.labeldown,
	 location=location.absolute,
	 color=bearColor,
	 textcolor=textColor
	 )
//------------------------------------------------------------------------------
// Hidden Bearish
// Osc: Higher High
oscHH = osc  > ta.valuewhen(phFound, osc , 1) and _inRange(phFound )
// Price: Lower High
priceLH = high  < ta.valuewhen(phFound, high , 1)
hiddenBearCond = plotHiddenBearInput and priceLH and oscHH and phFound
plot(
	 phFound ? osc  : na,
	 offset=-lbrInput,
	 title="Hidden Bearish",
	 linewidth=2,
	 color=(hiddenBearCond ? hiddenBearColor : noneColor)
	 )
plotshape(
	 DivergenceShowInput ? hiddenBearCond ? osc  : na : na,
	 offset=-lbrInput,
	 title="Hidden Bearish Label",
	 text=" H Bear ",
	 style=shape.labeldown,
	 location=location.absolute,
	 color=bearColor,
	 textcolor=textColor
	 )
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--- Check RSI Lineup ------------------------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
bullTF =  rsi > rsi  and rsi  > rsi 
bearTF =  rsi < rsi  and rsi  < rsi 
bullTF1 =  rsi1 > rsi1_1 and rsi1_1 > rsi1_2
bearTF1 =  rsi1 < rsi1_1 and rsi1_1 < rsi1_2
bullTF2 =  rsi2 > rsi2_1 and rsi2_1 > rsi2_2
bearTF2 =  rsi2 < rsi2_1 and rsi2_1 < rsi2_2
bullTF3 =  rsi3 > rsi3_1 and rsi3_1 > rsi3_2
bearTF3 =  rsi3 < rsi3_1 and rsi3_1 < rsi3_2
bullTF4 =  rsi4 > rsi4_1 and rsi4_1 > rsi4_2
bearTF4 =  rsi4 < rsi4_1 and rsi4_1 < rsi4_2
bbTxt(bull,bear) =>
    bull ? "BULLISH" : bear ? "BEARISCH" : 'NO LINEUP'
bbColor(bull,bear) =>
    bull ? bullishColor : bear ? bearishColor : nomatchColor
newTC(tBox, col, row, txt, width, txtColor, bgColor, txtHA, txtSize) =>
    table.cell(table_id=tBox,column=col, row=row, text=txt, width=width,text_color=txtColor,bgcolor=bgColor, text_halign=txtHA, text_size=txtSize)
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--- Define RSI Table Setting ----------------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
width_c0 = 0
width_c1 = 0
if rsiShowTable
    var tBox = table.new(position=rsiTablePosition, columns=5, rows=6, bgcolor=color.rgb(18,22,33,50), frame_color=color.black, frame_width=1, border_color=color.black, border_width=1)
    newTC(tBox, 0,1,"RSI Current",width_c0,color.orange,color.rgb(0,0,0,100),'right',rsiTextSize)
    newTC(tBox, 1,1,str.format(" {0,number,#.##} ", rsi),width_c0,vWhite,rsi < 50 ? bearishColor:bullishColor,'left',rsiTextSize)
    newTC(tBox, 4,1,bbTxt(bullTF, bearTF),width_c0,vWhite,bbColor(bullTF, bearTF),'center',rsiTextSize)
    if rsiShowHist
        newTC(tBox, 2,1,str.format(" {0,number,#.##} ", rsi ),width_c0,vWhite,rsi  < 50 ? bearishColor:bullishColor,'left',rsiTextSize)
        newTC(tBox, 3,1,str.format(" {0,number,#.##} ", rsi ),width_c0,vWhite,rsi  < 50 ? bearishColor:bullishColor,'left',rsiTextSize)
    if rsiShowTF1
        newTC(tBox, 0,2,TF2txt(rsiTF1),width_c0,vWhite,color.rgb(0,0,0,100),'right',rsiTextSize)
        newTC(tBox, 1,2,str.format(" {0,number,#.##} ", rsi1),width_c0,vWhite,rsi1 < 50 ? bearishColor:bullishColor,'left',rsiTextSize)
        newTC(tBox, 4,2,bbTxt(bullTF1, bearTF1),width_c0,vWhite,bbColor(bullTF1,bearTF1),'center',rsiTextSize)
        if rsiShowHist
            newTC(tBox, 2,2,str.format(" {0,number,#.##} ", rsi1_1),width_c0,vWhite,rsi1_1 < 50 ? bearishColor:bullishColor,'left',rsiTextSize)
            newTC(tBox, 3,2,str.format(" {0,number,#.##} ", rsi1_2),width_c0,vWhite,rsi1_2 < 50 ? bearishColor:bullishColor,'left',rsiTextSize)
    if rsiShowTF2
        newTC(tBox, 0,3,TF2txt(rsiTF2),width_c0,vWhite,color.rgb(0,0,0,100),'right',rsiTextSize)
        newTC(tBox, 1,3,str.format(" {0,number,#.##} ", rsi2),width_c0,vWhite,rsi2 < 50 ? bearishColor:bullishColor,'left',rsiTextSize)
        newTC(tBox, 4,3,bbTxt(bullTF2, bearTF2),width_c0,vWhite,bbColor(bullTF2,bearTF2),'center',rsiTextSize)
        if rsiShowHist
            newTC(tBox, 2,3,str.format(" {0,number,#.##} ", rsi2_1),width_c0,vWhite,rsi2_1 < 50 ? bearishColor:bullishColor,'left',rsiTextSize)
            newTC(tBox, 3,3,str.format(" {0,number,#.##} ", rsi2_2),width_c0,vWhite,rsi2_2 < 50 ? bearishColor:bullishColor,'left',rsiTextSize)
    if rsiShowTF3
        newTC(tBox, 0,4,TF2txt(rsiTF3),width_c0,vWhite,color.rgb(0,0,0,100),'right',rsiTextSize)
        newTC(tBox, 1,4,str.format(" {0,number,#.##} ", rsi3),width_c0,vWhite,rsi3 < 50 ? bearishColor:bullishColor,'left',rsiTextSize)
        newTC(tBox, 4,4,bbTxt(bullTF3, bearTF3),width_c0,vWhite,bbColor(bullTF3,bearTF3),'center',rsiTextSize)
        if rsiShowHist
            newTC(tBox, 2,4,str.format(" {0,number,#.##} ", rsi3_1),width_c0,vWhite,rsi3_1 < 50 ? bearishColor:bullishColor,'left',rsiTextSize)
            newTC(tBox, 3,4,str.format(" {0,number,#.##} ", rsi3_2),width_c0,vWhite,rsi3_2 < 50 ? bearishColor:bullishColor,'left',rsiTextSize)
    if rsiShowTF4
        newTC(tBox, 0,5,TF2txt(rsiTF4),width_c0,vWhite,color.rgb(0,0,0,100),'right',rsiTextSize)
        newTC(tBox, 1,5,str.format(" {0,number,#.##} ", rsi4),width_c0,vWhite,rsi4 < 50 ? bearishColor:bullishColor,'left',rsiTextSize)
        newTC(tBox, 4,5,bbTxt(bullTF4, bearTF4),width_c0,vWhite,bbColor(bullTF4,bearTF4),'center',rsiTextSize)
        if rsiShowHist
            newTC(tBox, 2,5,str.format(" {0,number,#.##} ", rsi4_1),width_c0,vWhite,rsi4_1 < 50 ? bearishColor:bullishColor,'left',rsiTextSize)
            newTC(tBox, 3,5,str.format(" {0,number,#.##} ", rsi4_2),width_c0,vWhite,rsi4_2 < 50 ? bearishColor:bullishColor,'left',rsiTextSize)
//------------------------------------------------------
//--- Alerts -------------------------------------------
//------------------------------------------------------
Fractal Dimension Index (FDI) by CoryP1990 – Quant ToolkitThe Fractal Dimension Index (FDI) quantifies how directional or choppy price movement is; in other words, it measures the “roughness” of a trend. FDI values near 1.0–1.3 indicate strong directional trends, while values near 1.5–2.0 reflect chaotic or range-bound behavior. This makes FDI a powerful tool for detecting trend vs. mean-reversion regimes.
 How it works 
Calculates the ratio of average price changes over full and half-length windows to estimate the fractal dimension of price movement.
Teal line = FDI decreasing → trending behavior (market smoother, more directional).
Orange line = FDI increasing → choppiness or consolidation.
Background:
Green tint = trend-friendly regime (FDI below low threshold).
Orange tint = choppy regime (FDI above high threshold).
 Use cases 
Detect when markets shift from trend-following to mean-reverting conditions.
Filter trades: favor trend strategies when FDI < 1.3 and reversion setups when FDI > 1.7.
Combine with momentum or volatility metrics to classify regimes.
 Defaults 
Length = 20
High-FDI threshold = 1.8
Low-FDI threshold = 1.2
 Example — TSLA (1D, 2021) 
Early 2021 trades choppy to sideways with FDI swinging up toward 1.5, then the index drops below 1.2 as Tesla transitions into a persistent trend-friendly regime through the second half of the year (green background). During the Q4 breakout, FDI holds ~1.0–1.2, confirming strong directionality; brief pullbacks lift FDI back toward the mid-range before trending pressure resumes. At the right edge, FDI sits well below the low threshold, signaling that price remains in a trend-supportive state.
 Part of the Quant Toolkit — transparent, open-source indicators for modern quantitative analysis. Built by CoryP1990.
ADX Color Change by BehemothI find this tool to be the most valuable and accurate entry point indicator along with moving averages and the VWAP.  
 ADX Color Indicator - Controls & Intraday Trading Benefits
 
 Indicator Controls:
 
 1. ADX Length  (default: 14)
   - Controls the calculation period for ADX
   - Lower values (7-10) = more sensitive, faster signals (better for scalping)
   - Higher values (14-20) = smoother, fewer false signals (better for swing trades)
   - *Intraday tip:* Try 10-14 for most intraday timeframes
 2. Show Threshold Levels  (default: On)
   - Displays the 20 and 25 horizontal lines
   - Helps you quickly identify when ADX crosses key strength levels
 3. Use Custom Timeframe  (default: Off)
   - Allows viewing higher timeframe ADX on lower timeframe charts
   - *Example:* Trade on 5-min chart but see 15-min or 1-hour ADX
 4. Custom Timeframe 
    - Select any timeframe: 1m, 5m, 15m, 30m, 1H, 4H, D, etc.
   - *Intraday tip:* Use 15m or 1H ADX on 5m charts for better trend context
 5. Show +DI and -DI  (default: Off)
   - Shows directional movement indicators
   - Green line (+DI) > Red line (-DI) = bullish trend
   - Red line (-DI) > Green line (+DI) = bearish trend
 6. Show Background Zon es (default: Off)
   - Visual background colors for quick trend strength identification
   - Green = strong trend (ADX > 25)
   - Yellow = moderate trend (ADX 20-25)
 Intraday Trading Benefits:
 
 1. Avoid Choppy Markets
 - When ADX < 20 (no background color), market is ranging
- Reduces false breakout trades and whipsaws
- Save time and capital by stepping aside during low-quality setups
 2. Identify High-Probability Trend Trades
 - **Green line + Green zone** = strong trend building, look for pullback entries
- Yellow line crossing above 20 = early trend formation signal
- Catch trends early when ADX starts rising from below 20
 3. Multi-Timeframe Analysis
 - Use custom timeframe to align with higher timeframe trends
- *Example:* If 1H ADX shows green (strong trend), take breakout trades on 5m chart in same direction
- Increases win rate by trading with the bigger picture
 4. Exit Signals
 - When ADX turns red (falling), trend is weakening
- Consider tightening stops or taking profits
- Avoid entering new positions when ADX is declining
 5. Quick Visual Confirmation
 - Color coding eliminates need to analyze numbers
- Instant recognition: Green = go, Yellow = caution, Red = trend dying
- Faster decision-making during fast market moves
 6. Scalping Strategy
 - Set ADX length to 7-10 for sensitive signals
- Only scalp when ADX is rising (blue, yellow, or green)
- Exit when ADX turns red
 7. Breakout Confirmation
 - Wait for ADX to rise above 20 after a breakout
- Filters false breakouts in ranging markets
- Yellow or green color confirms momentum behind the move
 Optimal Intraday Settings:
 
- Day Trading (5-15 min charts):** ADX Length = 10-14
- Scalping (1-5 min charts):** ADX Length = 7-10, watch custom 15m timeframe
- Swing Intraday (30min-1H charts):** ADX Length = 14-20
 Simple Trading Rules:
 ✅ Trade: ADX rising + above 20 (yellow or green)  
⚠️ Caution: ADX flat or just crossed 20  
❌ Avoid:*ADX falling (red) or below 20
The key advantage is  staying out of low-quality, choppy price action  which is where most intraday traders lose money!
Integrated Volatility Intelligence System (IVIS) AutoKVolMind™ AutoK — Integrated Volatility Intelligence System (IVIS)
IVIS AutoK
Author: © lfu
Public Description (for publication)
VolMind™ AutoK represents an institutional-grade open-source framework for adaptive volatility intelligence and probabilistic trade management.
This system fuses Kalman-inspired KAMA smoothing, CVD dynamics, Auto K-Means clustering, entropy-based regime analysis, and a Kolmogorov–Smirnov market normality test into a single modular platform.
 Key Capabilities: 
 
 
 Adaptive ATR Stop Bands dynamically scale with volatility, entropy, and cluster variance.
 
 
 Auto KMeans Intelligence automatically selects the optimal cluster count for price structure recognition (3–10 clusters).
 
 
 Entropy Module quantifies structural uncertainty and information decay within price movement.
 
 
 KS-Test Integration identifies non-normal distributions, signaling regime divergence and volatility inflection.
 
 
 CVD Dynamics reveal real-time directional bias via cumulative volume delta.
 
 
 MSI Composite Signal fuses multi-source indicators (ATR, CVD, entropy, clusters) to model market stress and adaptive risk.
Designed for forward-looking quant traders, IVIS serves as a volatility intelligence backbone for portfolio automation, volatility forecasting, and adaptive stop-loss scaling.
Fully open-source for research and applied strategy development. Not a financial advice. DYOR.
Volume Weighted Volatility RegimeThe Volume-Weighted Volatility Regime (VWVR) is a market analysis tool that dissects total volatility to classify the current market 'character' or 'regime'. Using a Linear Regression model, it decomposes volatility into Trend, Residual (mean-reversion), and Within-Bar (noise) components.
Key Features:
Seven-Stage Regime Classification: The indicator's primary output is a regime value from -3 to +3, identifying the market state:
+3 (Strong Bull Trend): High directional, upward volatility.
+2 (Choppy Bull): Moderate upward trend with noise.
+1 (Quiet Bull): Low volatility, slight upward drift.
0 (Neutral): No clear directional bias.
-1 (Quiet Bear): Low volatility, slight downward drift.
-2 (Choppy Bear): Moderate downward trend with noise.
-3 (Strong Bear Trend): High directional, downward volatility.
Advanced Volatility Decomposition: The regime is derived from a three-component volatility model that separates price action into Trend (momentum), Residual (mean-reversion), and Within-Bar (noise) variance. The classification is determined by comparing the 'Trend' ratio against the user-defined 'Trend Threshold' and 'Quiet Threshold'.
Dual-Level Analysis: The indicator analyzes market character on two levels simultaneously:
Inter-Bar Regime (Background Color): Based on the main StdDev Length, showing the overall market character.
Intra-Bar Regime (Column Color): Based on a high-resolution analysis within each single bar ('Intra-Bar Timeframe'), showing the micro-structural character.
Calculation Options:
Statistical Model: The 'Estimate Bar Statistics' option (enabled by default) uses a statistical model ('Estimator') to perform the decomposition. (Assumption: In this mode, the Source input is ignored, and an estimated mean for each bar is used instead).
Normalization: An optional 'Normalize Volatility' setting calculates an Exponential Regression Curve (log-space).
Volume Weighting: An option (Volume weighted) applies volume weighting to all volatility calculations.
Multi-Timeframe (MTF) Capability: The entire dual-level analysis can be run on a higher timeframe (using the Timeframe input), with standard options to handle gaps (Fill Gaps) and prevent repainting (Wait for...).
Integrated Alerts: Includes 22 comprehensive alerts that trigger whenever the 'Inter-Bar Regime' or the 'Intra-Bar Regime' crosses one of the key thresholds (e.g., 'Regime crosses above Neutral Line'), or when the 'Intra-Bar Dominance' crosses the 50% mark.
Caution: Real-Time Data Behavior (Intra-Bar Repainting) This indicator uses high-resolution intra-bar data. As a result, the values on the current, unclosed bar (the real-time bar) will update dynamically as new intra-bar data arrives. This behavior is normal and necessary for this type of analysis. Signals should only be considered final after the main chart bar has closed.
DISCLAIMER
For Informational/Educational Use Only: This indicator is provided for informational and educational purposes only. It does not constitute financial, investment, or trading advice, nor is it a recommendation to buy or sell any asset.
Use at Your Own Risk: All trading decisions you make based on the information or signals generated by this indicator are made solely at your own risk.
No Guarantee of Performance: Past performance is not an indicator of future results. The author makes no guarantee regarding the accuracy of the signals or future profitability.
No Liability: The author shall not be held liable for any financial losses or damages incurred directly or indirectly from the use of this indicator.
Signals Are Not Recommendations: The alerts and visual signals (e.g., crossovers) generated by this tool are not direct recommendations to buy or sell. They are technical observations for your own analysis and consideration.
Volume Weighted Intra Bar LR Standard DeviationThis indicator analyzes market character by providing a detailed view of volatility. It applies a Linear Regression model to intra-bar price action, dissecting the total volatility of each bar into three distinct components.
Key Features:
Three-Component Volatility Decomposition: By analyzing a lower timeframe ('Intra-Bar Timeframe'), the indicator separates each bar's volatility into:
Trend Volatility (Green/Red): Volatility explained by the intra-bar linear regression slope (Momentum).
Residual Volatility (Yellow): Volatility from price oscillating around the intra-bar trendline (Mean-Reversion).
Within-Bar Volatility (Blue): Volatility derived from the range of each intra-bar candle (Noise/Choppiness).
Layered Column Visualization: The indicator plots these components as a layered column chart. The size of each colored layer visually represents the dominance of each volatility character.
Dual Display Modes: The indicator offers two modes to visualize this decomposition:
Absolute Mode: Displays the total standard deviation as the column height, showing the absolute magnitude of volatility and the contribution of each component.
Normalized Mode: Displays the components as a 100% stacked column chart (scaled from 0 to 1), focusing purely on the percentage ratio of Trend, Residual, and Noise.
Calculation Options:
Statistical Model: The 'Estimate Bar Statistics' option (enabled by default) uses a statistical model ('Estimator') to perform the decomposition. (Assumption: In this mode, the Source input is ignored, and an estimated mean for each bar is used instead).
Normalization: An optional 'Normalize Volatility' setting calculates an Exponential Regression Curve (log-space).
Volume Weighting: An option (Volume weighted) applies volume weighting to all intra-bar calculations.
Multi-Component Pivot Detection: Includes a pivot detector that identifies significant turning points (highs and lows) in both the Total Volatility and the Trend Volatility Ratio. (Note: These pivots are only plotted when 'Plot Mode' is set to 'Absolute').
Note on Confirmation (Lag): Pivot signals are confirmed using a lookback method. A pivot is only plotted after the Pivot Right Bars input has passed, which introduces an inherent lag.
Multi-Timeframe (MTF) Capability:
MTF Analysis: The entire intra-bar analysis can be run on a higher timeframe (using the Timeframe input), with standard options to handle gaps (Fill Gaps) and prevent repainting (Wait for...).
Limitation: The Pivot detection (Calculate Pivots) is disabled if a Higher Timeframe (HTF) is selected.
Integrated Alerts: Includes 9 comprehensive alerts for:
Volatility character changes (e.g., 'Character Change from Noise to Trend').
Dominant character emerging (e.g., 'Bullish Trend Character Emerging').
Total Volatility pivot (High/Low) detection.
Trend Volatility pivot (High/Low) detection.
Caution! Real-Time Data Behavior (Intra-Bar Repainting) This indicator uses high-resolution intra-bar data. As a result, the values on the current, unclosed bar (the real-time bar) will update dynamically as new intra-bar data arrives. This behavior is normal and necessary for this type of analysis. Signals should only be considered final after the main chart bar has closed.
DISCLAIMER
For Informational/Educational Use Only: This indicator is provided for informational and educational purposes only. It does not constitute financial, investment, or trading advice, nor is it a recommendation to buy or sell any asset.
Use at Your Own Risk: All trading decisions you make based on the information or signals generated by this indicator are made solely at your own risk.
No Guarantee of Performance: Past performance is not an indicator of future results. The author makes no guarantee regarding the accuracy of the signals or future profitability.
No Liability: The author shall not be held liable for any financial losses or damages incurred directly or indirectly from the use of this indicator.
Signals Are Not Recommendations: The alerts and visual signals (e.g., crossovers) generated by this tool are not direct recommendations to buy or sell. They are technical observations for your own analysis and consideration.
Volume Weighted Intra Bar Standard DeviationThis indicator provides a high-resolution analysis of market volatility by dissecting each bar on the chart into its fundamental components. It uses data from a lower, intra-bar timeframe to separate the total volatility of a single bar into its 'directional' and 'non-directional' parts.
Key Features:
Intra-Bar Volatility Decomposition: For each bar on the chart, the indicator analyzes the underlying price action on a smaller timeframe ('Intra-Bar Timeframe') and quantifies two types of volatility:
Between-Bar Volatility (Directional): Calculated from price movements between the intra-bar candles. This component represents the directional, trending price action within the main bar.
Within-Bar Volatility (Non-Directional): Calculated from price fluctuations inside each intra-bar candle. This component represents the choppy, noisy, or ranging price action.
Dual Display Modes: The indicator offers two modes to visualize this information:
Absolute Mode: Plots the total standard deviation as a stacked column chart, showing the absolute magnitude of volatility and the contribution of each component.
Normalized Mode: Plots the components as a 100% stacked column chart (scaled from 0 to 1), focusing purely on the percentage ratio of 'between-bar' (trending) and 'within-bar' (choppy) volatility.
Calculation Options:
Statistical Model: The 'Estimate Bar Statistics' option (enabled by default) uses a statistical model ('Estimator') to perform the decomposition. (Assumption: In this mode, the Source input is ignored, and an estimated mean for each bar is used instead).
Normalization: An optional 'Normalize Volatility' setting calculates volatility in percentage terms (log-space).
Volume Weighting: An option (Volume weighted) applies volume weighting to all intra-bar volatility calculations.
Volatility Pivot Detection: Includes a built-in pivot detector that identifies significant turning points (highs and lows) in the total volatility line. (Note: This is only visible in 'Absolute Mode').
Note on Confirmation (Lag): Pivot signals are confirmed using a lookback method. A pivot is only plotted after the Pivot Right Bars input has passed, which introduces an inherent lag.
Multi-Timeframe (MTF) Capability:
MTF Analysis Lines: The entire intra-bar analysis can be run on a higher timeframe (using the Timeframe input), with standard options to handle gaps (Fill Gaps) and prevent repainting (Wait for...).
Limitation: The Pivot detection (Calculate Pivots) is disabled if a Higher Timeframe (HTF) is selected.
Integrated Alerts: Includes 6 alerts for:
Volatility character changes (e.g., 'Character Change from Choppy to Trend').
Dominant character emerging (e.g., 'Trend Character Emerging').
Total Volatility pivot (High/Low) detection.
Caution: Real-Time Data Behavior (Intra-Bar Repainting) This indicator uses high-resolution intra-bar data. As a result, the values on the current, unclosed bar (the real-time bar) will update dynamically as new intra-bar data arrives. This behavior is normal and necessary for this type of analysis. Signals should only be considered final after the main chart bar has closed.
DISCLAIMER
For Informational/Educational Use Only: This indicator is provided for informational and educational purposes only. It does not constitute financial, investment, or trading advice, nor is it a recommendation to buy or sell any asset.
Use at Your Own Risk: All trading decisions you make based on the information or signals generated by this indicator are made solely at your own risk.
No Guarantee of Performance: Past performance is not an indicator of future results. The author makes no guarantee regarding the accuracy of the signals or future profitability.
No Liability: The author shall not be held liable for any financial losses or damages incurred directly or indirectly from the use of this indicator.
Signals Are Not Recommendations: The alerts and visual signals (e.g., crossovers) generated by this tool are not direct recommendations to buy or sell. They are technical observations for your own analysis and consideration.
Volume Weighted LR Standard DeviationThis indicator analyzes market character by decomposing total volatility into three distinct, interpretable components based on a Linear Regression model.
Key Features:
Three-Component Volatility Decomposition: The indicator separates volatility based on the 'Estimate Bar Statistics' option.
Standard Mode (Estimate Bar Statistics = OFF): Calculates volatility based on the selected Source (dies führt hauptsächlich zu 'Trend'- und 'Residual'-Volatilität).
Decomposition Mode (Estimate Bar Statistics = ON): The indicator uses a statistical model ('Estimator') to calculate within-bar volatility. (Assumption: In this mode, the Source input is ignored, and an estimated mean for each bar is used instead). This separates volatility into:
Trend Volatility (Green/Red): Volatility explained by the regression's slope (Momentum).
Residual Volatility (Yellow): Volatility from price oscillating around the regression line (Mean-Reversion).
Within-Bar Volatility (Blue): Volatility from the high-low range of each bar (Noise/Choppiness).
Dual Display Modes: The indicator offers two modes to visualize this decomposition:
Absolute Mode: Displays the total standard deviation as a stacked area chart, partitioned by the variance ratio of the three components.
Normalized Mode: Displays the direct variance ratio (proportion) of each component relative to the total (0-1), ideal for identifying the dominant market character.
Calculation Options:
Normalization: An optional 'Normalize Volatility' setting calculates an Exponential Regression Curve (log-space), making the analysis suitable for growth assets.
Volume Weighting: An option (Volume weighted) applies volume weighting to all regression and volatility calculations.
Multi-Component Pivot Detection: Includes a pivot detector that identifies significant turning points (highs and lows) in both the Total Volatility and the Trend Volatility Ratio. (Note: These pivots are only plotted when 'Plot Mode' is set to 'Absolute').
Note on Confirmation (Lag): Pivot signals are confirmed using a lookback method. A pivot is only plotted after the Pivot Right Bars input has passed, which introduces an inherent lag.
Multi-Timeframe (MTF) Capability:
MTF Volatility Lines: The volatility lines can be calculated on a higher timeframe, with standard options to handle gaps (Fill Gaps) and prevent repainting (Wait for...).
Limitation: The Pivot detection (Calculate Pivots) is disabled if a Higher Timeframe (HTF) is selected.
Integrated Alerts: Includes 9 comprehensive alerts for:
Volatility character changes (e.g., 'Character Change from Noise to Trend').
Dominant character emerging (e.g., 'Bullish Trend Character Emerging').
Total Volatility pivot (High/Low) detection.
Trend Volatility pivot (High/Low) detection.
DISCLAIMER
For Informational/Educational Use Only: This indicator is provided for informational and educational purposes only. It does not constitute financial, investment, or trading advice, nor is it a recommendation to buy or sell any asset.
Use at Your Own Risk: All trading decisions you make based on the information or signals generated by this indicator are made solely at your own risk.
No Guarantee of Performance: Past performance is not an indicator of future results. The author makes no guarantee regarding the accuracy of the signals or future profitability.
No Liability: The author shall not be held liable for any financial losses or damages incurred directly or indirectly from the use of this indicator.
Signals Are Not Recommendations: The alerts and visual signals (e.g., crossovers) generated by this tool are not direct recommendations to buy or sell. They are technical observations for your own analysis and consideration.
Volume Weighted Standard DeviationThis indicator calculates the Standard Deviation and decomposes total volatility into its core components, allowing to analyze the underlying character of the market.
Key Features:
Volatility Decomposition: The indicator separates volatility based on the 'Estimate Bar Statistics' option.
Standard Mode (Estimate Bar Statistics = OFF): Calculates a simple (Volume-Weighted) Standard Deviation of the selected Source.
Decomposition Mode (Estimate Bar Statistics = ON): The indicator uses a statistical model ('Estimator') to calculate within-bar volatility (choppiness, noise) and between-bar volatility (trending moves). (Assumption: In this mode, the Source input is ignored, and an estimated mean for each bar is used instead).
Dual Display Modes: The indicator offers two modes to visualize this information:
Absolute Mode: Plots the total standard deviation as a stacked area chart, showing the proportional contribution of the 'Between' and 'Within' components.
Normalized Mode: Plots the direct ratio of each component's variance (from 0 to 1), making it easy to identify which character is dominant.
Calculation Options: The volatility calculation can be optionally Volume weighted. An optional Normalize Volatility setting performs the calculation in logarithmic space, making volatility comparable across different price scales.
Volatility Pivot Detection: Includes a built-in pivot detector that identifies significant turning points (highs and lows) in the total volatility line. (Note: This is only visible in 'Absolute Mode').
Note on Confirmation (Lag): Pivot signals are confirmed using a lookback method. A pivot is only plotted after the Pivot Right Bars input has passed, which introduces an inherent lag.
Multi-Timeframe (MTF) Capability:
MTF Volatility Lines: The volatility lines can be calculated on a higher timeframe, with standard options to handle gaps (Fill Gaps) and prevent repainting (Wait for...).
Limitation: The Pivot detection (Calculate Pivots) is disabled if a Higher Timeframe (HTF) is selected.
Integrated Alerts: Includes 6 alerts for:
Volatility character changes (e.g., 'Trend Character Emerging', 'Character Change from Trend to Choppy').
Volatility pivot (high or low) detection.
DISCLAIMER
For Informational/Educational Use Only: This indicator is provided for informational and educational purposes only. It does not constitute financial, investment, or trading advice, nor is it a recommendation to buy or sell any asset.
Use at Your Own Risk: All trading decisions you make based on the information or signals generated by this indicator are made solely at your own risk.
No Guarantee of Performance: Past performance is not an indicator of future results. The author makes no guarantee regarding the accuracy of the signals or future profitability.
No Liability: The author shall not be held liable for any financial losses or damages incurred directly or indirectly from the use of this indicator.
Signals Are Not Recommendations: The alerts and visual signals (e.g., crossovers) generated by this tool are not direct recommendations to buy or sell. They are technical observations for your own analysis and consideration.
Volume Weighted Average True RangeThis indicator calculates a customizable version of the Average True Range (ATR), a tool for measuring market volatility. It enhances the standard ATR with volume weighting, a dual-smoothing process, normalization, and volatility pivot detection.
Key Features:
Volume Weighting: An option (Volume weighted) allows for volume to be incorporated into the volatility calculation. This provides a measure of "volume-adjusted" volatility that is more responsive to significant market activity.
Dual Smoothing Process: For noise reduction, the indicator employs a two-stage smoothing process. It first calculates a smoothed True Range (TR) over a user-defined period (TR Length) before applying the final ATR moving average (ATR Length & ATR Smooth).
Normalization (Percentage Volatility): An optional 'Normalize' mode calculates the ATR as a percentage of the price. This allows for consistent volatility comparison across different assets and over long time periods.
Volatility Pivot Detection: The indicator includes a built-in pivot detector that identifies significant turning points (highs and lows) in the ATR line itself, signaling potential shifts in volatility.
Note on Confirmation (Lag): Pivot signals are confirmed using a lookback method. A pivot is only plotted after the Pivot Right Bars input has passed. This is essential for ensuring the signal is non-repainting but introduces an inherent lag.
Multi-Timeframe (MTF) Capability:
MTF ATR Line: The ATR line itself can be calculated on a different timeframe, with standard options to handle gaps (Fill Gaps) and prevent repainting (Wait for...).
Limitation: The Pivot detection (Calculate Pivots) is disabled if a Higher Timeframe (HTF) is selected.
Integrated Alerts: Includes alerts that trigger when a new volatility pivot (high or low) is detected in the ATR line.
DISCLAIMER
For Informational/Educational Use Only: This indicator is provided for informational and educational purposes only. It does not constitute financial, investment, or trading advice, nor is it a recommendation to buy or sell any asset.
Use at Your Own Risk: All trading decisions you make based on the information or signals generated by this indicator are made solely at your own risk.
No Guarantee of Performance: Past performance is not an indicator of future results. The author makes no guarantee regarding the accuracy of the signals or future profitability.
No Liability: The author shall not be held liable for any financial losses or damages incurred directly or indirectly from the use of this indicator.
Signals Are Not Recommendations: The alerts and visual signals (e.g., crossovers) generated by this tool are not direct recommendations to buy or sell. They are technical observations for your own analysis and consideration.
Volume Weighted Bollinger BandsThis indicator provides a customizable version of Bollinger Bands, enhanced with optional volume weighting and a method for decomposing market volatility.
Key Features:
Volatility Decomposition: The indicator's primary feature is its ability to separate total volatility, controlled by the 'Estimate Bar Statistics' option.
Standard Mode (Estimate Bar Statistics = OFF): The indicator functions as a customizable Bollinger Band. It calculates the standard deviation of the user-selected Source and plots a single set of bands.
Decomposition Mode (Estimate Bar Statistics = ON): The indicator uses a statistical model ('Estimator') to calculate within-bar volatility. (Assumption: In this mode, the Source input is ignored, and an estimated mean for each bar is used instead). This mode displays two sets of bands:
Inner Bands: Show only the contribution of the 'between-bar' volatility.
Outer Bands: Show the total volatility (the sum of between-bar and within-bar components).
Customizable Construction: The indicator is a hybrid:
Basis Line: The central line is calculated using a selectable Moving Average type (e.g., EMA, SMA, WMA).
Volume Weighting: An option (Volume weighted) allows for volume to be incorporated into the calculation of both the basis MA and the volatility decomposition.
Logarithmic Scaling: An optional 'Normalize' mode calculates the bands on a logarithmic scale. This results in bands that maintain a constant percentage distance from the basis, suitable for analyzing exponential markets.
Multi-Timeframe (MTF) Engine: The indicator includes an MTF conversion block. When a Higher Timeframe (HTF) is selected, advanced options become available: Fill Gaps handles data gaps, and Wait for timeframe to close prevents repainting by ensuring the indicator only updates when the HTF bar closes.
Integrated Alerts: Includes a full set of built-in alerts for the source price crossing over or under the central MA line and the outermost calculated volatility band.
DISCLAIMER
For Informational/Educational Use Only: This indicator is provided for informational and educational purposes only. It does not constitute financial, investment, or trading advice, nor is it a recommendation to buy or sell any asset.
Use at Your Own Risk: All trading decisions you make based on the information or signals generated by this indicator are made solely at your own risk.
No Guarantee of Performance: Past performance is not an indicator of future results. The author makes no guarantee regarding the accuracy of the signals or future profitability.
No Liability: The author shall not be held liable for any financial losses or damages incurred directly or indirectly from the use of this indicator.
Signals Are Not Recommendations: The alerts and visual signals (e.g., crossovers) generated by this tool are not direct recommendations to buy or sell. They are technical observations for your own analysis and consideration.
Firex Data Trade 5* SetupIdentifies Boring, Quiet, No Supply / No Demand candles. "
               + "Highlights potential 5★ setups for trading confirmation when price breaks candle highs/lows. "
               + "Helps traders spot low-volume turning points and breakout opportunities
Volume Weighted Keltner ChannelThis indicator provides a customizable implementation of Keltner Channels (KC), a volatility-based envelope designed to identify trend direction and potential reversal or breakout zones. It allows deep control over its core components and calculation methods.
Key Features:
Customizable Components: This implementation allows for full control over the channel's construction:
Basis Line: Choose from a wide range of moving average types (e.g., EMA, SMA, WMA) for the central line.
Volatility Bands: Select the volatility measure used to construct the bands: Average True Range (ATR), True Range (TR), or bar Range (High-Low).
Volume Weighting: An option (Volume weighted) allows for volume to be incorporated into the calculation of both the basis moving average and the selected volatility measure (e.g., creating a Volume-Weighted ATR). This makes the channel more responsive to moves backed by high market participation.
Logarithmic Scaling: The indicator includes an optional 'Normalize' mode that calculates the channel on a logarithmic scale. This creates bands that represent a constant percentage distance from the basis, making it a suitable tool for analyzing long-term trends in exponential markets.
Multi-Timeframe (MTF) Engine: The indicator includes an MTF conversion block. When a Higher Timeframe (HTF) is selected, advanced options become available: Fill Gaps handles data gaps, and Wait for timeframe to close prevents repainting by ensuring the indicator only updates when the HTF bar closes.
Integrated Alerts: Includes a full set of built-in alerts for the source price crossing over or under the upper band, lower band, and the central basis line.
DISCLAIMER
For Informational/Educational Use Only: This indicator is provided for informational and educational purposes only. It does not constitute financial, investment, or trading advice, nor is it a recommendation to buy or sell any asset.
Use at Your Own Risk: All trading decisions you make based on the information or signals generated by this indicator are made solely at your own risk.
No Guarantee of Performance: Past performance is not an indicator of future results. The author makes no guarantee regarding the accuracy of the signals or future profitability.
No Liability: The author shall not be held liable for any financial losses or damages incurred directly or indirectly from the use of this indicator.
Signals Are Not Recommendations: The alerts and visual signals (e.g., crossovers) generated by this tool are not direct recommendations to buy or sell. They are technical observations for your own analysis and consideration.
Crypto Futures Basis Tracker (Annualized)🧩 What is Basis Arbitrage 
 Basis arbitrage  is a market-neutral trading strategy that exploits the price difference between a cryptocurrency’s spot and its futures markets.
 
 When futures trade above spot (called contango), traders can buy spot and short futures, locking in a potential yield.
 When futures trade below spot (backwardation), the reverse applies — short spot and go long futures.
 
The yield earned (or cost paid) by holding this position until expiry is called the basis. Expressing it as an annualized percentage allows comparison across different contract maturities.
 ⚙️ How the Indicator Works 
This tool calculates the annualized basis for up to 10 cryptocurrency futures against a chosen spot price.
 
  You select one  spot symbol  (e.g., BITSTAMP:BTCUSD) and up to  10 futures symbols  (e.g., DERIBIT:BTCUSD07X2025, DERIBIT:BTCUSD14X2025, etc.).
  The script automatically computes the days-to-expiry (DTE) and the annualized basis for each future.
  A table displays for each contract: symbol, expiry date, DTE, last price, and annualized basis (%) — making it easy to compare the forward curve across maturities.
 
 ⚠️ Risks and Limitations 
While basis arbitrage is often considered low-risk, it’s not risk-free:
 
 Funding and financing costs  can erode returns, especially when borrowing or using leverage.
 Exchange or counterparty risk  — if one leg of the trade fails (e.g., exchange default, margin liquidation), the hedge breaks.
 Execution and timing risk  — the basis can tighten or invert before both legs are opened.
 Liquidity differences   — thin futures may have large bid-ask spreads or slippage.
 
Use this indicator for analysis and monitoring, not as an automated trading signal.
 Disclaimer:   Please remember that past performance may not be indicative of future results. Due to various factors, including changing market conditions, the strategy may no longer perform as well as in historical backtesting. This post and the script don't provide any financial advice.
Halt-Risk Guard (5-min / 10%) — TTP Safe🛑 Halt-Risk Guard (5-min / 10%) — TTP Safe
Stay clear of halts, invalidations, and over-extended moves.
🔍 Overview
The Halt-Risk Guard helps traders avoid sudden invalidations by monitoring price velocity over the past X minutes (default: 5 min) and flagging when moves exceed a configurable threshold (default: 10%).
Originally built to meet Trade The Pool (TTP) risk-management rules — where even non-halted 10% moves can void trades — this tool provides a clear, visual warning system and optional entry blocker.
⚙️ Key Features
✅ Halt-Risk Detection – Calculates both reference-based and swing-based (high↔low) percentage change over the chosen lookback period.
✅ TTP Safe Mode – “Swing mode” captures extreme volatility spikes that may invalidate trades even when the market stays open.
✅ Entry Blocker (optional) – Automatically greys candles and dims the background during risky conditions to prevent impulsive entries.
✅ Customisable Positioning – Move the on-chart info box to any corner of your chart (Top Left / Top Right / Bottom Left / Bottom Right).
✅ Clean Alerts –
⚠️ At/Above Threshold
✅ Back to Safe
⛔ Entry Blocker Active
✅ Visual Table Display – Compact dashboard shows current % move, lookback window, and threshold with intuitive green/red status.
✅ Strategy-Ready Output – A hidden 0/1 plot lets you block or filter trades in automated systems.
⚡ How It Works
Monitors the selected symbol using your chosen computation timeframe (recommended 1-minute).
Evaluates either:
REF mode: Close-to-close change over the lookback window.
SWING mode: High-to-low range within the same window.
If the move ≥ Threshold %, the script highlights a halt-risk condition and optionally activates the entry blocker.
🎨 Recommended Settings
Lookback: 5 minutes
Threshold: 10 %
Swing mode: ON (TTP-safe)
Computation timeframe: 1 minute
Entry blocker: ON
Dim background: ON
🧠 Use Cases
TTP and other prop-firm evaluations enforcing price-movement limits.
Volatility-based scalping systems to avoid chasing extended candles.
Strategy filters for algorithmic entries (e.g. pause trading during halt-risk windows).
⚠️ Disclaimer
This tool provides visual and alert-based guidance only. It does not guarantee compliance with any specific firm’s rules or eliminate trading risk. Always verify thresholds and rules with your broker or evaluation provider.
Volatility Resonance CandlesVolatility Resonance Candles  visualize the dynamic interaction between price acceleration, volatility, and volume energy.
They’re designed to reveal moments when volatility expansion and directional momentum resonate — often preceding strong directional moves or reversals.
🔬  Concept 
Traditional candles display direction and range, but they miss the energetic structure of volatility itself.
This indicator introduces a resonance model, where ATR ratio, price acceleration, and volume intensity combine to form a composite signal.
* ATR Resonance: compares short-term vs. long-term volatility
* Acceleration: captures the rate of price change
* Volume Energy: reinforces the move’s significance
When these components align, the candle color “resonates” — brighter, more intense candles signal stronger volatility–momentum coupling.
⚙️  Features 
* Adaptive Scaling
Normalizes energy intensity dynamically across a user-defined lookback period, ensuring consistency in changing market conditions.
* Power-Law Transformation
Optional non-linear scaling (gamma) emphasizes higher-energy events while keeping low-intensity noise visually subdued.
* Divergence Mode
When enabled, colors can invert to highlight energy divergence from candle direction (e.g., bearish pressure during bullish closes).
* Customizable Styling
Full control over bullish/bearish base colors, transparency scaling, and threshold sensitivity.
🧠  Interpretation 
* Bright / High-Intensity Candles → Strong alignment of volatility and directional energy.
Often signals the resonant phase of a move — acceleration backed by volatility expansion and volume participation.
* Dim / Low-Intensity Candles → Energy dispersion or consolidation.
These typically mark quiet zones, pauses, or inefficient volatility.
* Opposite-Colored Candles (if divergence mode on) → Potential inflection zones or hidden stress in the trend structure.
⚠️ Disclaimer
This script is for educational purposes only.
It does not constitute financial advice, and past performance is not indicative of future results. Always do your own research and test strategies before making trading decisions.
Murrey Math SMA up to 32s Murrey Math SMA up to 32s   is a highly advanced Pine Script v5 indicator that combines Murrey Math Lines (MML) with a customizable moving average (MA) — including a non-repainting Rolling VWAP (RVWAP) — and dynamic color-coded support/resistance bands up to 1/32 subdivisions.  It projects octave-based geometric price levels (like Gann) centered on your chosen MA, with adaptive scaling, angle-based trend coloring, and absolute/extended MML bands. Includes 1/8, 1/16, and 1/32 grid lines, shaded zones, labels, and a live increment display.Core FeaturesFeature
Description
MA Types
SMA, VWMA, VWAP, Period VWAP, RVWAP (rolling VWAP over fixed or adaptive time window)
Murrey Math Grid
Auto-scaled 0/8 to 8/8 + extensions (±3/8), with 1/16 & 1/32 subdivisions
Dynamic Coloring
Bands colored by MA slope angle (bullish/bearish) or absolute MML shift
RVWAP Engine
Non-repainting volume-weighted average over user-defined or adaptive time steps
Wick Filtering
Optional ignore wicks for cleaner MML framing
Resolution Support
Works with higher timeframe data via request.security()
Key Use Cases Use Case
How to Use
1. Precision Support & Resistance
Treat 4/8 (mid) as pivot, 0/8 & 8/8 as extremes. Price often reverses or accelerates at these levels.
2. Mean Reversion Trades
Buy near 0/8–1/8 (oversold), sell near 7/8–8/8 (overbought) when MA is flat or sloping mildly.
3. Trend Continuation
When MA angle > threshold and price breaks 5/8, expect move to 8/8. Confirm with volume.
4. Breakout Entries
Watch for close beyond 8/8 or 0/8 + MA angle steep → strong momentum breakout.
5. Scalping with 1/32 Grid
Use 1/32 lines as micro-targets in ranging markets or after news spikes.
6. Volume-Weighted Fair Value
RVWAP = true average price paid over time → anchor for institutional fair value.
Visual Layout (MA-Centered)
+3/8   ───┐
+2/8   ───┤  ← Strong resistance
+1/8   ───┤
8/8    ███┤  ← Overbought (red zone)
7/8    ───┤
6/8    ███┤
5/8    ───┤
4/8    ███┤  ← Midline (pivot)
3/8    ───┤
2/8    ███┤
1/8    ───┤
0/8    ███┤  ← Oversold (green zone)
-1/8   ───┤
-2/8   ───┤
-3/8   ───┘
Shaded: 0/8–1/8 (buy), 7/8–8/8 (sell), 3/8–5/8 (neutral/consolidation)  
MA Line: Orange (RVWAP) or hidden  
Labels: Bottom, 1/4, Mid, 3/4, Top (offset to the right)  
Table: Shows current Increment size
Best For  Swing & scalp traders on stocks, forex, crypto  
Volume-based strategies (RVWAP shines in high-volume moves)  
Gann/Murrey Math enthusiasts wanting automation + modern MA anchoring






















