Backtesting · Strategy Validation · Pine Script

Cara Backtest di TradingView – Panduan Lengkap 2026

Penulis: Tim Editorial · Diperbarui: Mei 2026 · Waktu baca: 15 menit

📌 Yang akan Anda pelajari

  • Cara setup strategy backtest di TradingView (gratis)
  • Membaca metrics: net profit, win rate, drawdown, profit factor
  • Mengidentifikasi overfitting dan curve-fitting
  • Walk-forward analysis untuk validasi robust
  • Realistic expectations dari backtesting

Mengapa backtest critical?

Trading strategi tanpa backtest = gambling dengan extra steps. Backtest memberikan jawaban data-driven untuk pertanyaan:

  • Apakah strategi ini memiliki edge positif?
  • Berapa win rate historis?
  • Apa maximum drawdown yang harus saya siap?
  • Berapa lama losing streak yang mungkin?
  • Risk/reward ratio yang realistis?

Tanpa backtest, Anda trade berdasarkan hope. Dengan backtest, Anda trade berdasarkan data historis.

⚠️ Important caveat

Backtest tidak menjamin masa depan. Pasar berubah. Strategi yang menang di 2020-2024 mungkin tidak menang di 2026+. Tetapi strategi tanpa backtest positif HAMPIR PASTI akan rugi.

Setup strategy di Pine Script

Perbedaan key antara indicator dan strategy:

IndicatorStrategy
indicator()strategy()
Plot signals di chartEksekusi simulated trades
Tidak ada P/L trackingFull performance metrics
Untuk visualisasiUntuk backtest

Template strategy lengkap:

pinescript
//@version=5
strategy("EMA Cross Strategy - Backtest", overlay=true,
         initial_capital=10000,
         default_qty_type=strategy.percent_of_equity,
         default_qty_value=1.0,
         commission_type=strategy.commission.percent,
         commission_value=0.05,
         slippage=2)

// Inputs
fast_length = input.int(9, "Fast EMA")
slow_length = input.int(21, "Slow EMA")
stop_loss_pct = input.float(1.5, "Stop Loss %")
take_profit_pct = input.float(3.0, "Take Profit %")

// Calculations
fast_ema = ta.ema(close, fast_length)
slow_ema = ta.ema(close, slow_length)

// Conditions
long_condition = ta.crossover(fast_ema, slow_ema)
short_condition = ta.crossunder(fast_ema, slow_ema)

// Strategy logic
if long_condition
    strategy.entry("Long", strategy.long)

if short_condition
    strategy.entry("Short", strategy.short)

// Stop loss & Take profit (in %)
long_stop = strategy.position_avg_price * (1 - stop_loss_pct / 100)
long_target = strategy.position_avg_price * (1 + take_profit_pct / 100)
short_stop = strategy.position_avg_price * (1 + stop_loss_pct / 100)
short_target = strategy.position_avg_price * (1 - take_profit_pct / 100)

if strategy.position_size > 0
    strategy.exit("Exit Long", "Long", stop=long_stop, limit=long_target)

if strategy.position_size < 0
    strategy.exit("Exit Short", "Short", stop=short_stop, limit=short_target)

// Plots
plot(fast_ema, "Fast EMA", color.blue)
plot(slow_ema, "Slow EMA", color.orange)

Komponen utama strategy:

  • initial_capital: Modal awal untuk simulasi ($10.000 default)
  • default_qty_type: percent_of_equity (% akun per trade)
  • default_qty_value: 1.0% = 1% risk per trade
  • commission_type/value: Realistic broker commission
  • slippage: 2 ticks untuk realistic execution

Strategy Tester: cara membaca hasil

Setelah Add to chart, klik tab Strategy Tester di bawah chart. Ada 4 tabs:

Tab 1: Overview

Summary statistik kunci:

  • Net Profit: Total profit/loss dari semua trades
  • Total Closed Trades: Jumlah trades selesai
  • Percent Profitable: Win rate
  • Profit Factor: Gross profit / gross loss
  • Max Drawdown: Decline maksimum dari peak

Tab 2: Performance Summary

Breakdown long vs short, average trade size, dll.

Tab 3: List of Trades

Setiap trade dengan entry, exit, size, P/L. Berguna untuk pattern recognition.

Tab 4: Properties

Konfigurasi yang digunakan untuk backtest.

Metrics yang penting

1. Net Profit (Total P/L)

Apa yang baik: Positive setelah commission dan slippage

Apa yang dipertanyakan: 1000%+ “returns” sering indicator overfitting

2. Win Rate

Realistic ranges:

  • Trend following: 35-45%
  • Mean reversion: 55-70%
  • Breakout: 40-55%
  • Scalping: 55-65%

Red flag: Win rate >80% sering indikator overfitting atau strategy yang kompleks excessively.

3. Profit Factor

Ratio gross profit / gross loss. Target: >1.5 minimum, >2.0 ideal.

4. Max Drawdown

Decline maksimum dari peak akun. Target: <25%, ideal <15%.

Drawdown lebih tinggi = lebih banyak psikologis stress saat trading live.

5. Sharpe Ratio

Risk-adjusted return. >1.0 = bagus, >1.5 = sangat bagus, >2.0 = elite.

6. Average Trade

Net P/L per trade. Harus positif setelah commission. Jika negatif, strategy losing per trade.

Overfitting: musuh utama backtest

Overfitting (curve-fitting) adalah ketika strategy dioptimasi terlalu spesifik untuk data historis, sehingga tidak akan bekerja di data masa depan.

Tanda-tanda overfitting:

  • 🚩 Parameter “magic numbers” yang sangat spesifik (e.g., EMA 17.5, RSI threshold 33.7)
  • 🚩 Win rate >80% di backtest
  • 🚩 Strategy menggunakan 10+ kondisi kompleks
  • 🚩 Performance dramatically berubah dengan parameter kecil
  • 🚩 Hanya bekerja di 1 pair/timeframe spesifik

Cara menghindari overfitting:

  1. Use round numbers: EMA 21, RSI 30/70, MACD default
  2. Test di multiple pairs: jika strategi hanya bekerja di EUR/USD tapi tidak GBP/USD = suspect
  3. Test di multiple timeframes: bagus jika bekerja di H1 dan H4
  4. Out-of-sample testing: optimize di 2020-2022, validasi di 2023-2024
  5. Walk-forward analysis: rolling re-optimization

⚠️ Test ini

Setelah backtest yang “sempurna”, ubah salah satu parameter secara signifikan (e.g., EMA 21 → EMA 20). Jika hasil dramatically berbeda, strategy overfitted. Jika robust, hasilnya akan similar (mungkin sedikit lebih buruk).

Walk-forward analysis

Walk-forward adalah gold standard untuk validasi backtest:

Konsep:

  1. Bagi data historis menjadi periods (e.g., 6 bulan masing-masing)
  2. Optimize parameter di Period 1
  3. Test di Period 2 (out-of-sample) dengan parameter terbaik
  4. Re-optimize untuk Period 3 menggunakan Period 1+2
  5. Test di Period 4
  6. Continue rolling

Cara melakukan di TradingView:

TradingView tidak memiliki built-in walk-forward, tetapi Anda dapat manual:

  1. Set chart range ke Jan 2020 – Jun 2020 (6 bulan)
  2. Optimize strategy parameters dengan trial-and-error
  3. Catat parameters terbaik
  4. Set chart range ke Jul 2020 – Dec 2020
  5. Apply parameters dari step 3
  6. Lihat performance
  7. Repeat untuk periods berikutnya

Jika strategy konsisten positif di out-of-sample periods, edge mungkin nyata. Jika hanya menang di in-sample, overfitted.

Realistic expectations

📊 Real backtest results untuk strategi retail

  • Net profit tahunan: 15-40% (good strategy)
  • Win rate: 40-65% tergantung style
  • Max drawdown: 10-25%
  • Profit factor: 1.3-2.0
  • Sharpe ratio: 0.8-1.5

Jika backtest Anda menunjukkan:

  • 500%+ return per tahun = overfitted, tidak akan bekerja live
  • Drawdown < 5% = terlalu bagus untuk dipercaya, kemungkinan bug atau curve-fit
  • Win rate > 85% = highly suspect, periksa logic strategy

Backtest → Live transition:

Realistic degradation: live performance biasanya 50-70% dari backtest. Strategi yang menunjukkan +30%/tahun di backtest mungkin hanya +15-21%/tahun di live (karena slippage real, eksekusi imperfect, market changes).

Plan untuk drawdown 1.5-2x maksimum backtest drawdown saat live trading.

FAQ

Berapa lama data historis yang dibutuhkan untuk backtest reliable?

Minimum 1-2 tahun, ideal 3-5 tahun. Lebih lama = lebih banyak market regimes (trending, ranging, volatile). Strategi yang menang di 3+ tahun lebih reliable.

Apakah TradingView Free cukup untuk backtest?

Ya. Strategy Tester sama di Free dan Pro. Yang berbeda hanya jumlah simultaneous strategies dan extended data history.

Bagaimana account untuk commission dan slippage realistic?

Set commission 0.05-0.1% per side (untuk forex retail) dan slippage 2-5 ticks. Untuk crypto: 0.1-0.2% per side. Beberapa broker mahal: 0.5%+ per side.

⚠️ Disclaimer: Past performance does not guarantee future results. Backtest adalah tool validasi, bukan jaminan. 70-89% trader retail kehilangan uang. Selalu trade dengan modal yang Anda dapat menerima kehilangannya.

Similar Posts