Kalau Python adalah pintu masuk untuk bot exchange, Pine Script adalah pintu masuk untuk otomasi chart. Ini bahasa asli TradingView, dirancang khusus untuk analisis teknikal, dan punya satu keunggulan besar bagi pemula: kamu menulis kode, memplot, dan melakukan backtest di layar yang sama, tanpa instal apa pun. Tutorial ini memakai versi terkini, Pine Script v5.
01Apa itu Pine Script (dan kenapa mulai dari sini)
Pine Script adalah bahasa skrip buatan TradingView untuk dua tujuan: membuat indikator kustom (yang diplot di chart) dan membuat strategi (yang menghasilkan sinyal beli/jual dan bisa diuji pada data historis). Bahasanya sederhana, spesifik, dan jalan di cloud TradingView — kamu tidak perlu server maupun instalasi.
Kenapa bagus untuk belajar: siklus tulis→plot→uji berlangsung instan dan visual. Hasilnya langsung terlihat di chart. Dibandingkan menyusun seluruh pipeline data di Python, ini jauh lebih cepat untuk memvalidasi sebuah ide strategi.
02Indikator pertamamu
Di TradingView, buka Pine Editor (tab di bagian bawah chart). Setiap skrip diawali dengan mendeklarasikan versi dan tipenya. Mari plot sebuah simple moving average:
//@version=5 indicator("Minha Primeira MM", overlay=true) // input: bikin periodenya bisa diatur lewat antarmuka periodo = input.int(20, "Período da Média") // hitung simple moving average dari harga close media = ta.sma(close, periodo) // plot ke chart plot(media, "MM", color=color.aqua, linewidth=2)
Klik Tambahkan ke chart. Selesai — moving average-mu muncul di atas candle. Bagian overlay=true adalah yang membuat indikator digambar di atas harga (bukan di panel terpisah di bawah).
03Konsep yang perlu kamu pahami
Deret waktu (time series)
Di Pine, variabel seperti close, open, high, low bukan cuma satu angka — melainkan series. Skrip dijalankan sekali untuk setiap candle di chart, dan close selalu merujuk ke harga close candle yang sedang diproses saat itu. Untuk mengakses candle sebelumnya, pakai kurung siku: close[1] adalah close candle sebelumnya, close[2] yang dua candle ke belakang.
Fungsi dari library ta
Library ta (technical analysis) sudah menyediakan semuanya: ta.sma() (simple moving average), ta.ema() (exponential), ta.rsi(), ta.macd(), ta.crossover() (cross ke atas), ta.crossunder() (cross ke bawah). Kamu jarang perlu menghitung indikator secara manual.
04Dari indikator jadi strategi
Perbedaan pentingnya: indicator() hanya menggambar; strategy() menyimulasikan transaksi dan menghasilkan laporan backtest. Mari ubah moving average tadi jadi sistem crossover yang bertransaksi:
//@version=5 strategy("Cruzamento de Médias", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=10) // parameter yang bisa diatur rapida = input.int(9, "MM Rápida") lenta = input.int(21, "MM Lenta") ma_rapida = ta.ema(close, rapida) ma_lenta = ta.ema(close, lenta) // deteksi crossover-nya cruzaCima = ta.crossover(ma_rapida, ma_lenta) cruzaBaixo = ta.crossunder(ma_rapida, ma_lenta) // aturan trading if cruzaCima strategy.entry("Compra", strategy.long) if cruzaBaixo strategy.close("Compra") // tampilkan moving average-nya plot(ma_rapida, "Rápida", color=color.lime) plot(ma_lenta, "Lenta", color=color.orange)
Begitu ditambahkan ke chart, TradingView otomatis membuka Strategy Tester di bawah — lengkap dengan laba bersih, jumlah trade, win rate, drawdown maksimum, dan kurva ekuitas. Kamu barusan melakukan backtest tanpa menulis satu baris pun kode pengujian.
Mau strategi siap pakai untuk diadaptasi?
Lihat kumpulan strategi klasik kami beserta penjelasan logikanya — siap diubah jadi kode.
05Menambahkan stop loss dan take profit
Strategi tanpa manajemen risiko itu belum lengkap. Di Pine, stop dan target ditentukan tepat pada saat entry:
// di dalam blok entry if cruzaCima strategy.entry("Compra", strategy.long) // stop 2% di bawah, target 4% di atas (risk:reward 1:2) strategy.exit("Saida", "Compra", stop = close * 0.98, limit = close * 1.04)
Tips: Strategy Tester menghitung ulang semuanya begitu nilai-nilai itu diubah. Pakai untuk melihat bagaimana level stop/target yang berbeda memengaruhi hasil — tapi hati-hati dengan overfitting (terlalu mengoptimalkan pada data masa lalu).
06Alert: jembatan menuju otomasi
Pine Script jalan di TradingView dan tidak mengeksekusi order sendiri di broker-mu. Jembatan menuju otomasi adalah alert. Kamu menambahkan alert di dalam kode, dan saat kondisinya terpicu, TradingView bisa mengirim webhook (sebuah request HTTP) ke server yang mengeksekusi order di broker.
// picu alert saat crossover if cruzaCima alert("COMPRA BTCUSDT", alert.freq_once_per_bar_close) if cruzaBaixo alert("VENDA BTCUSDT", alert.freq_once_per_bar_close)
Dua cara mengubah alert jadi order sungguhan: (1) integrasi native — broker yang mendukung TradingView (misalnya Pepperstone) mengeksekusi langsung dari chart; (2) webhook + server — alert memanggil server-mu (misalnya skrip Python yang menerima webhook lalu mengirim order lewat API, seperti yang kami tunjukkan di tutorial Binance).
Perhatian: otomasi lewat webhook menambah titik kegagalan (server mati, request hilang, latensi). Untuk strategi yang sensitif terhadap waktu, integrasi native dari broker lebih andal. Uji habis-habisan di akun demo sebelum mengotomatiskannya dengan uang sungguhan.
07Langkah berikutnya untuk menguasainya
- Pelajari library
tasecara utuh — RSI, MACD, Bollinger, ATR. Masing-masing membuka peluang strategi baru. - Pelajari array dan
varuntuk menyimpan state antar-candle (misalnya melacak sebuah level support). - Deteksi pola SMC — order block dan fair value gap bisa dikodekan di Pine (lihat panduan Smart Money Concepts kami).
- Baca manual resmi Pine v5 — ini referensi terbaik dan punya contoh untuk hampir semua hal.
08Pertanyaan yang sering muncul
Apa itu Pine Script?
Ini bahasa pemrograman milik TradingView, untuk membuat indikator kustom dan strategi dengan backtest langsung di platformnya. Jalan di cloud — tidak perlu instal apa pun.
Apakah Pine Script sulit?
Tidak. Bahasanya sederhana dan khusus untuk analisis chart. Yang sudah pernah ngoding bisa paham dalam hitungan jam; pemula menguasai dasarnya dalam beberapa hari. Siklus visual tulis→plot→uji sangat mempercepat proses belajar.
Bisakah benar-benar trading dengan Pine Script?
Pine menghasilkan sinyal dan alert. Untuk mengeksekusi order sungguhan secara otomatis, alert dihubungkan ke webhook (yang mengirim order ke broker lewat API) atau memakai integrasi native dari broker yang mendukung TradingView.
Pine Script atau Python untuk otomasi?
Pine lebih unggul untuk membuat prototipe dan backtest visual yang cepat. Python memberi kendali penuh dan jalan terpisah dari TradingView, cocok untuk eksekusi yang tangguh. Banyak orang memakai Pine untuk merancang strateginya dan Python untuk menjalankannya.
Apakah harus berlangganan TradingView untuk memakai Pine?
Paket gratisnya sudah memungkinkan pembuatan dan pengujian skrip dengan batasan (jumlah indikator bersamaan, alert). Untuk otomasi serius dengan banyak alert, paket berbayar membuka lebih banyak fitur.