OPEN-SOURCE SCRIPT

TEMA,SMA & VWAP Indicator

//version=5
indicator("TEMA,SMA & VWAP Indicator", overlay=true)

// Input parameter for TEMA length
tema_length = input.int(title="TEMA Length", defval=30, minval=1, step=1)

// Input settings for SMAs
sma5_length = input.int(5, title="SMA 5 Length")
sma20_length = input.int(20, title="SMA 20 Length")
sma50_length = input.int(50, title="SMA 50 Length")
sma100_length = input.int(100, title="SMA 100 Length")
sma200_length = input.int(200, title="SMA 200 Length")

// Calculate TEMA manually
ema1 = ta.ema(close, tema_length)
ema2 = ta.ema(ema1, tema_length)
ema3 = ta.ema(ema2, tema_length)
tema = 3 * (ema1 - ema2) + ema3

// Calculate SMAs
sma5 = ta.sma(close, sma5_length)
sma20 = ta.sma(close, sma20_length)
sma50 = ta.sma(close, sma50_length)
sma100 = ta.sma(close, sma100_length)
sma200 = ta.sma(close, sma200_length)

// VWAP Calculation
vwap = ta.vwap

// Plot TEMA
plot(tema, title="TEMA", color=color.orange, linewidth=1, style=plot.style_line)

// Plot SMAs
plot(sma5, color=color.yellow, title="SMA 5")
plot(sma20, color=color.purple, title="SMA 20")
plot(sma50, color=color.red, title="SMA 50")
plot(sma100, color=color.green, title="SMA 100")
plot(sma200, color=color.black, title="SMA 200")

// Plot VWAP
plot(vwap, color=color.blue, linewidth=1, title="VWAP")

// Optional: Add background color based on trend
bgcolor(close > sma200 ? color.new(color.green, 90) : close < sma200 ? color.new(color.red, 90) : na, title="Trend Background")

Penafian