UDAY_C_Santhakumar

UCS Squeeze Bar

This indicator is a request from tvmember jackvmk. Credits to jackvmk.

Squeeze bar = a bar which encompasses 5, 10, 15, 20, 30, 40 SMA
Squeeze bars high and lows are support and resistance. when price break one of them, this direction is direction of explosion.

I have added a further more customization
1. Using EMA instead of SMA
2. Using Heikin Ashi Optimization
3. Using Realbody (ignore wicks)
4. Plot the MA Ribbon

Uday C Santhakumar
Script open-source

Dans le véritable esprit de TradingView, l'auteur de ce script l'a publié en open-source, afin que les traders puissent le comprendre et le vérifier. Bravo à l'auteur! Vous pouvez l'utiliser gratuitement, mais la réutilisation de ce code dans une publication est régie par le règlement. Vous pouvez le mettre en favori pour l'utiliser sur un graphique.

Clause de non-responsabilité

Les informations et les publications ne sont pas destinées à être, et ne constituent pas, des conseils ou des recommandations en matière de finance, d'investissement, de trading ou d'autres types de conseils fournis ou approuvés par TradingView. Pour en savoir plus, consultez les Conditions d'utilisation.

Vous voulez utiliser ce script sur un graphique ?
study(title="Squeeze Bar", shorttitle="Sqz Bar", overlay=true)

useHAC = input(true, title = "** Select this When Using Optimized Squeeze **", type=bool)
userb = input(true, title = "Ignore Wicks", type = bool)
plma = input(true, title = "Plot Moving Averages", type = bool)
masl = input(false, title = "Use EMA instead of SMA", type = bool)

// Heikin Ashi ATR Calculations
haclose = ohlc4
haopen = na(haopen[1]) ? (open + close)/2 : (haopen[1] + haclose[1]) / 2
hahigh = max (high, max(haopen,haclose))
halow = min (low, min(haopen,haclose))
haatra = abs(hahigh - haclose[1])
haatrb = abs(haclose[1] - halow)
haatrc = abs(hahigh - halow)
haatr = max(haatra, max(haatrb,haatrc))

src = useHAC ? haclose : close
sro = useHAC ? haopen : open

// MA Calculations
ma1 = masl ? ema(src,5) : sma(src,5)
ma2 = masl ? ema(src,10) : sma(src,10)
ma3 = masl ? ema(src,15) : sma(src,15)
ma4 = masl ? ema(src,20) : sma(src,20)
ma5 = masl ? ema(src,30) : sma(src,30)
ma6 = masl ? ema(src,40) : sma(src,40)

// High and Low
rblow = userb ? min(src, sro) : low
rbhig = userb ? max(src, sro) : high

// Squeeze Bar
sqzbar = (ma1 > rblow and ma1 < rbhig) and (ma2 > rblow and ma2 < rbhig) and (ma3 > rblow and ma3 < rbhig) and (ma4 > rblow and ma4 < rbhig) and (ma5 > rblow and ma5 < rbhig) and (ma6 > rblow and ma6 < rbhig)

// Bar Coloring
barcolor(sqzbar ? yellow : na)

// Ploting
plot(plma ? ma1 : na, title = "Moving Average", color = red, linewidth = 1)
plot(plma ? ma2 : na, title = "Moving Average", color = red, linewidth = 1)
plot(plma ? ma3 : na, title = "Moving Average", color = red, linewidth = 1)
plot(plma ? ma4 : na, title = "Moving Average", color = green, linewidth = 3)
plot(plma ? ma5 : na, title = "Moving Average", color = blue, linewidth = 2)
plot(plma ? ma6 : na, title = "Moving Average", color = gray, linewidth = 3)