https://alanhull.com/hull-moving-average
//@version=4
//Basic Hull Ma Pack tinkered by InSilico
study(“Hull Suite by InSilico”, overlay=true)
//INPUT
src = input(close, title=”Source”)
modeSwitch = input(“Hma”, title=”Hull Variation”, options=[“Hma”, “Thma”, “Ehma”])
length = input(55, title=”Length(180-200 for floating S/R , 55 for swing entry)”)
lengthMult = input(1.0, title=”Length multiplier (Used to view higher timeframes with straight band)”)
useHtf = input(false, title=”Show Hull MA from X timeframe? (good for scalping)”)
htf = input(“240″, title=”Higher timeframe”, type=input.resolution)
switchColor = input(true, “Color Hull according to trend?”)
candleCol = input(false,title=”Color candles based on Hull’s Trend?”)
visualSwitch = input(true, title=”Show as a Band?”)
thicknesSwitch = input(1, title=”Line Thickness”)
transpSwitch = input(40, title=”Band Transparency”,step=5)
//FUNCTIONS
//HMA
HMA(_src, _length) => wma(2 * wma(_src, _length / 2) – wma(_src, _length), round(sqrt(_length)))
//EHMA
EHMA(_src, _length) => ema(2 * ema(_src, _length / 2) – ema(_src, _length), round(sqrt(_length)))
//THMA
THMA(_src, _length) => wma(wma(_src,_length / 3) * 3 – wma(_src, _length / 2) – wma(_src, _length), _length)
//SWITCH
Mode(modeSwitch, src, len) =>
modeSwitch == “Hma” ? HMA(src, len) :
modeSwitch == “Ehma” ? EHMA(src, len) :
modeSwitch == “Thma” ? THMA(src, len/2) : na
//OUT
_hull = Mode(modeSwitch, src, int(length * lengthMult))
HULL = useHtf ? security(syminfo.ticker, htf, _hull) : _hull
MHULL = HULL[0]
SHULL = HULL[2]
//COLOR
hullColor = switchColor ? (HULL > HULL[2] ? #00ff00 : #ff0000) : #ff9800
//PLOT
///< Frame
Fi1 = plot(MHULL, title=”MHULL”, color=hullColor, linewidth=thicknesSwitch, transp=50)
Fi2 = plot(visualSwitch ? SHULL : na, title=”SHULL”, color=hullColor, linewidth=thicknesSwitch, transp=50)
///< Ending Filler
fill(Fi1, Fi2, title=”Band Filler”, color=hullColor, transp=transpSwitch)
///BARCOLOR
barcolor(color = candleCol ? (switchColor ? hullColor : na) : na)