10 Pine Script Indikator TradingView Siap Pakai 2026
Library 10 Pine Script indikator yang siap copy-paste ke TradingView. Semua AI-generated dan tested. Cocok untuk trader Indonesia yang mau quick setup tanpa coding.
Cara Pakai (Untuk Semua Indikator)
- Buka TradingView, login ke akun
- Pilih chart asset (V75, EURUSD, BTC, dll)
- Click tab “Pine Editor” di bottom panel
- Copy code indikator yang kamu mau
- Paste di editor, hapus default content
- Save (Ctrl+S), beri nama deskriptif
- Click “Add to chart”
The 10 Indicators
RSI dengan Alerts
RSI standar 14-period dengan alerts otomatis di level 30 dan 70. Background coloring untuk visual oversold/overbought.
//@version=5
indicator("RSI Alert — IA Trader Pro")
length = input.int(14, "RSI Length")
rsi = ta.rsi(close, length)
plot(rsi, "RSI", color=#448AFF, linewidth=2)
hline(70, "Overbought", color=color.red, linestyle=hline.style_dashed)
hline(30, "Oversold", color=color.green, linestyle=hline.style_dashed)
hline(50, "Mid", color=color.gray)
bgcolor(rsi > 70 ? color.new(color.red, 90) : rsi < 30 ? color.new(color.green, 90) : na)
alertcondition(ta.crossover(rsi, 30), "RSI exit oversold", "RSI exit oversold zone")
alertcondition(ta.crossunder(rsi, 70), "RSI exit overbought", "RSI exit overbought zone")
EMA Crossover (9/21/50)
Triple EMA dengan crossover alerts. Cross 9/21 = short-term signal, alignment dengan EMA 50 = strong trend confirmation.
//@version=5
indicator("EMA Cross 9/21/50 — IA Trader Pro", overlay=true)
ema9 = ta.ema(close, 9)
ema21 = ta.ema(close, 21)
ema50 = ta.ema(close, 50)
plot(ema9, "EMA 9", color=#00E676, linewidth=2)
plot(ema21, "EMA 21", color=#448AFF, linewidth=2)
plot(ema50, "EMA 50", color=#FFC107, linewidth=2)
goldenCross = ta.crossover(ema9, ema21)
deathCross = ta.crossunder(ema9, ema21)
plotshape(goldenCross, location=location.belowbar, color=color.green,
style=shape.triangleup, size=size.small, text="BUY")
plotshape(deathCross, location=location.abovebar, color=color.red,
style=shape.triangledown, size=size.small, text="SELL")
alertcondition(goldenCross, "EMA Golden Cross", "EMA 9 crossed above EMA 21")
alertcondition(deathCross, "EMA Death Cross", "EMA 9 crossed below EMA 21")
Bollinger Bands dengan Squeeze Detection
Standard Bollinger Bands + squeeze detection. Highlight period low volatility yang sering precede breakout.
//@version=5
indicator("BB Squeeze — IA Trader Pro", overlay=true)
length = input.int(20, "BB Length")
mult = input.float(2.0, "BB StdDev")
basis = ta.sma(close, length)
dev = mult * ta.stdev(close, length)
upper = basis + dev
lower = basis - dev
bbWidth = (upper - lower) / basis * 100
avgWidth = ta.sma(bbWidth, 50)
isSqueeze = bbWidth < avgWidth * 0.7
plot(basis, "Middle", color=color.orange)
p1 = plot(upper, "Upper", color=color.new(color.red, 50))
p2 = plot(lower, "Lower", color=color.new(color.green, 50))
fill(p1, p2, color=isSqueeze ? color.new(color.yellow, 80) : color.new(color.blue, 95))
plotshape(isSqueeze and not isSqueeze[1], location=location.bottom,
color=color.yellow, style=shape.diamond, size=size.tiny)
alertcondition(isSqueeze and not isSqueeze[1], "BB Squeeze Start",
"Bollinger Bands squeeze detected — breakout incoming")
Volume Spike Detector
Highlight volume bars yang 2x+ dari rata-rata. Indikator institutional activity atau breakout.
//@version=5
indicator("Volume Spike — IA Trader Pro")
length = input.int(20, "Volume MA Length")
spikeMult = input.float(2.0, "Spike Multiplier", step=0.1)
volMa = ta.sma(volume, length)
isSpike = volume > volMa * spikeMult
isBull = close > open
spikeColor = isSpike ? (isBull ? color.new(#00E676, 0) : color.new(#FF5252, 0)) : color.new(color.gray, 60)
plot(volume, "Volume", style=plot.style_columns, color=spikeColor)
plot(volMa, "Volume MA", color=color.orange, linewidth=2)
alertcondition(isSpike, "Volume Spike", "Volume > 2x average — significant activity")
ATR Channel Bands
Dynamic support/resistance berbasis ATR. Adapt dengan volatility, lebih reliable dari fixed levels.
//@version=5
indicator("ATR Channels — IA Trader Pro", overlay=true)
period = input.int(14, "ATR Period")
mult = input.float(2.0, "Multiplier", step=0.1)
basis = ta.sma(close, period)
atr = ta.atr(period)
upper = basis + atr * mult
lower = basis - atr * mult
plot(basis, "Basis", color=color.orange, linewidth=2)
plot(upper, "Upper", color=color.new(color.red, 0))
plot(lower, "Lower", color=color.new(color.green, 0))
alertcondition(ta.crossover(close, upper), "Upper Breakout", "Price broke above ATR upper band")
alertcondition(ta.crossunder(close, lower), "Lower Breakout", "Price broke below ATR lower band")
Stochastic RSI dengan Smoothing
Combine Stochastic dan RSI untuk early reversal signals. Lebih sensitive dari RSI biasa.
//@version=5
indicator("Stoch RSI Smooth — IA Trader Pro")
rsiLen = input.int(14, "RSI Length")
stochLen = input.int(14, "Stoch Length")
kSmooth = input.int(3, "K Smoothing")
dSmooth = input.int(3, "D Smoothing")
rsi = ta.rsi(close, rsiLen)
k = ta.sma(ta.stoch(rsi, rsi, rsi, stochLen), kSmooth)
d = ta.sma(k, dSmooth)
plot(k, "K", color=#448AFF, linewidth=2)
plot(d, "D", color=#FFC107, linewidth=2)
hline(80, "OB", color=color.red, linestyle=hline.style_dashed)
hline(20, "OS", color=color.green, linestyle=hline.style_dashed)
hline(50, "Mid", color=color.gray)
bgcolor(k < 20 and d < 20 ? color.new(color.green, 85) :
k > 80 and d > 80 ? color.new(color.red, 85) : na)
alertcondition(ta.crossover(k, d) and k < 20, "StochRSI Buy", "Stoch RSI bullish cross in oversold")
alertcondition(ta.crossunder(k, d) and k > 80, "StochRSI Sell", "Stoch RSI bearish cross in overbought")
Pivot Points (Auto High/Low)
Auto-detect swing highs & lows. Visual markers untuk identify potential reversal zones.
//@version=5
indicator("Auto Pivots — IA Trader Pro", overlay=true)
left = input.int(10, "Left Bars")
right = input.int(10, "Right Bars")
ph = ta.pivothigh(high, left, right)
pl = ta.pivotlow(low, left, right)
plotshape(not na(ph), location=location.abovebar, color=color.red,
style=shape.triangledown, size=size.small, offset=-right)
plotshape(not na(pl), location=location.belowbar, color=color.green,
style=shape.triangleup, size=size.small, offset=-right)
if not na(ph)
label.new(bar_index - right, ph, "H " + str.tostring(ph, "#.##"),
color=color.new(color.red, 70), textcolor=color.white,
style=label.style_label_down, size=size.tiny)
if not na(pl)
label.new(bar_index - right, pl, "L " + str.tostring(pl, "#.##"),
color=color.new(color.green, 70), textcolor=color.white,
style=label.style_label_up, size=size.tiny)
Heikin Ashi Trend Color
Heikin Ashi smoothed bars dengan trend color. Clearer trend visualization vs regular candles.
//@version=5
indicator("Heikin Ashi Trend — IA Trader Pro", overlay=true)
haTicker = ticker.heikinashi(syminfo.tickerid)
haOpen = request.security(haTicker, timeframe.period, open)
haClose = request.security(haTicker, timeframe.period, close)
haHigh = request.security(haTicker, timeframe.period, high)
haLow = request.security(haTicker, timeframe.period, low)
trendUp = haClose > haOpen
plotcandle(haOpen, haHigh, haLow, haClose, "HA",
color=trendUp ? color.new(#00E676, 0) : color.new(#FF5252, 0),
wickcolor=trendUp ? color.new(#00E676, 50) : color.new(#FF5252, 50),
bordercolor=trendUp ? color.new(#00E676, 0) : color.new(#FF5252, 0))
alertcondition(trendUp and not trendUp[1], "HA Trend Flip Bullish",
"Heikin Ashi flipped to bullish trend")
alertcondition(not trendUp and trendUp[1], "HA Trend Flip Bearish",
"Heikin Ashi flipped to bearish trend")
VWAP dengan Bands
Volume-Weighted Average Price dengan standard deviation bands. Dynamic support/resistance institutional traders pakai.
//@version=5
indicator("VWAP + Bands — IA Trader Pro", overlay=true)
mult1 = input.float(1.0, "Band 1 Mult")
mult2 = input.float(2.0, "Band 2 Mult")
vwap = ta.vwap(hlc3)
dev = ta.stdev(hlc3, 20)
plot(vwap, "VWAP", color=color.orange, linewidth=2)
plot(vwap + dev * mult1, "Upper Band 1", color=color.new(#FFC107, 50))
plot(vwap - dev * mult1, "Lower Band 1", color=color.new(#FFC107, 50))
plot(vwap + dev * mult2, "Upper Band 2", color=color.new(#FF5252, 50))
plot(vwap - dev * mult2, "Lower Band 2", color=color.new(#FF5252, 50))
alertcondition(ta.crossover(close, vwap), "Cross above VWAP",
"Price crossed above VWAP — bullish bias")
alertcondition(ta.crossunder(close, vwap), "Cross below VWAP",
"Price crossed below VWAP — bearish bias")
Multi-Timeframe RSI Dashboard
RSI di 4 timeframe (M5, M15, H1, H4) sekaligus, dalam table dashboard. Identify multi-timeframe alignment instantly.
//@version=5
indicator("MTF RSI Dashboard — IA Trader Pro", overlay=true)
length = input.int(14, "RSI Length")
rsiM5 = request.security(syminfo.tickerid, "5", ta.rsi(close, length))
rsiM15 = request.security(syminfo.tickerid, "15", ta.rsi(close, length))
rsiH1 = request.security(syminfo.tickerid, "60", ta.rsi(close, length))
rsiH4 = request.security(syminfo.tickerid, "240", ta.rsi(close, length))
getColor(v) => v > 70 ? #FF5252 : v < 30 ? #00E676 : v > 50 ? #80E0A0 : #FFA080
var table dash = table.new(position.top_right, 2, 5,
bgcolor=color.new(color.black, 30),
border_width=1, border_color=color.gray)
if barstate.islast
table.cell(dash, 0, 0, "TF", text_color=color.white, text_size=size.small,
bgcolor=color.new(#448AFF, 30))
table.cell(dash, 1, 0, "RSI", text_color=color.white, text_size=size.small,
bgcolor=color.new(#448AFF, 30))
table.cell(dash, 0, 1, "M5", text_color=color.white, text_size=size.tiny)
table.cell(dash, 1, 1, str.tostring(rsiM5, "#.0"),
text_color=getColor(rsiM5), text_size=size.tiny)
table.cell(dash, 0, 2, "M15", text_color=color.white, text_size=size.tiny)
table.cell(dash, 1, 2, str.tostring(rsiM15, "#.0"),
text_color=getColor(rsiM15), text_size=size.tiny)
table.cell(dash, 0, 3, "H1", text_color=color.white, text_size=size.tiny)
table.cell(dash, 1, 3, str.tostring(rsiH1, "#.0"),
text_color=getColor(rsiH1), text_size=size.tiny)
table.cell(dash, 0, 4, "H4", text_color=color.white, text_size=size.tiny)
table.cell(dash, 1, 4, str.tostring(rsiH4, "#.0"),
text_color=getColor(rsiH4), text_size=size.tiny)
Cara Pakai 10 Indikator Ini
💡 Workflow Best Practice
1. Tidak pakai semua sekaligus. TradingView free hanya allow 3 indikator per chart. Pilih 2-3 yang complement.
2. Combine berbeda kategori: 1 trend (EMA Cross) + 1 momentum (RSI) + 1 confirmation (Volume Spike).
3. Backtest sebelum pakai live. Lihat tutorial backtest.
4. Save sebagai favorites. “Save” tiap indikator dengan nama deskriptif untuk reuse.
Recommended Combinations
Setup A — Trend Following
- #2 EMA Cross 9/21/50 — direction
- #10 MTF RSI Dashboard — confirmation
- #4 Volume Spike — entry trigger
Setup B — Mean Reversion
- #3 BB Squeeze — identify low volatility zones
- #1 RSI Alert — oversold/overbought
- #6 Stoch RSI — early reversal signals
Setup C — Breakout Trading
- #7 Auto Pivots — identify key levels
- #5 ATR Channels — dynamic breakout zones
- #4 Volume Spike — confirmation breakout
Customize dengan AI
Mau modify atau combine 2 indikator menjadi 1? Tinggal tanyakan ChatGPT/Claude:
- “Combine indikator #1 RSI dan #2 EMA dalam 1 script dengan alert hanya saat kedua signal align”
- “Tambahkan stop loss visualization di indikator #5 ATR Channels”
- “Convert indikator #2 EMA Cross dari indicator ke strategy untuk backtest”
Detail prompting: tutorial ChatGPT + Claude untuk Pine Script.
🚀 Test 10 indikator ini di chart Deriv (demo gratis):
Buka Demo Deriv GratisTopik Terkait
- AI untuk Generate Pine Script
- Auto Fibonacci Indicator
- SuperTrend + MACD Combo
- Ichimoku Cloud Custom
- TradingView Free Setup
