Inti yang Perlu Diingat
Pine Script adalah bahasa scripting bawaan TradingView untuk membuat indikator teknis kustom dan strategi trading langsung di browser.
Pine Script v6 adalah versi saat ini. Ia membangun di atas namespace “ta” milik v5 (misalnya ta.ema() dan ta.rsi()), menambahkan sistem tipe yang lebih ketat, mengaktifkan permintaan data dinamis secara default, dan menyertakan konverter kode bawaan untuk membantu memigrasikan skrip lama.
Anda bisa membuat indikator sederhana seperti SMA, EMA, dan candlestick dengan kode warna hanya dengan beberapa baris kode.
Strategy Tester TradingView memungkinkan Anda membacktest strategi kustom terhadap data harga historis untuk mengecek kekeliruan logis.
Tidak diperlukan instalasi perangkat lunak. Pine Script berjalan sepenuhnya di editor web TradingView.
Pengenalan
Analisis teknis yang efektif bergantung pada tersedianya alat yang tepat. TradingView adalah salah satu platform charting yang paling banyak digunakan untuk pasar kripto, forex, dan saham, serta dilengkapi dengan banyak indikator bawaan. Namun yang membuatnya berbeda adalah seberapa banyak Anda bisa menyesuaikannya.
Pine Script adalah bahasa scripting milik TradingView. Bahasa ini memungkinkan Anda membuat indikator kustom, alert, dan strategi yang berjalan langsung di chart Anda. Panduan ini membahas dasar-dasar Pine Script v6, versi saat ini, termasuk cara menyiapkan skrip pertama Anda, mem-plot indikator, dan menggabungkannya menjadi alat yang dapat digunakan ulang.
Apa Itu Pine Script?
Pine Script adalah bahasa scripting ringan yang dikembangkan oleh TradingView. Anda menulis skrip di Pine Editor, yang terintegrasi di dalam antarmuka TradingView. Saat Anda mengklik Add to Chart, skrip Anda berjalan di server TradingView dan output muncul langsung di chart Anda. Tidak diperlukan unduhan atau instalasi.
Pine Script v6 adalah versi saat ini dan yang sebaiknya Anda gunakan untuk semua skrip baru. Ia membangun di atas syntax yang lebih bersih dan namespace ta yang diperkenalkan di v5, serta menambahkan beberapa peningkatan: sistem tipe yang lebih ketat, permintaan data dinamis diaktifkan secara default, dan penanganan fungsi yang lebih terorganisasi. Bahasa ini mencakup panduan pengguna yang lengkap dan komunitas besar skrip yang dipublikasikan yang bisa Anda telusuri di TradingView.
Apa yang Baru di Pine Script v6?
Jika Anda pernah menggunakan Pine Script v5, berikut adalah perubahan yang paling relevan secara praktis di v6:
Sistem tipe yang lebih ketat: Di v5, nilai numerik (int dan float) bisa secara implisit digunakan sebagai boolean dalam kondisi. Di v6, hal ini tidak lagi diizinkan. Jika kondisi Anda menggunakan angka, Anda harus secara eksplisit melakukan casting menggunakan fungsi bool(). Ini membuat kode lebih tidak ambigu dan lebih mudah untuk debugging.
Permintaan dinamis secara default: Di v5, pemanggilan fungsi request.*() (seperti request.security()) harus ditempatkan di ruang lingkup global dan memerlukan argumen simbol dan timeframe yang tetap. Di v6, permintaan dinamis diaktifkan secara default, artinya Anda dapat memanggil request.*() di dalam loop dan blok kondisional, serta meneruskan nilai series sebagai argumen. Ini secara signifikan memperluas apa yang bisa dilakukan skrip multi-simbol dan multi-timeframe.
Konverter bawaan v5-ke-v6: Pine Editor dapat mengonversi skrip v5 ke v6 secara otomatis. Buka dropdown "Manage script" dan pilih "Convert code to v6". Konverter menangani sebagian besar perubahan secara otomatis, meskipun beberapa kasus mungkin perlu peninjauan manual.
String multi-baris (April 2026): v6 sekarang mendukung literal string multi-baris dengan pembatas tanda kutip rangkap tiga (""" atau '''). Ini membuat lebih mudah untuk menulis label, tooltip, dan pesan log yang terformat di beberapa baris tanpa menggunakan urutan escape \n.
Versi awal Pine Script (v3, v4, v5) masih dapat dieksekusi di TradingView, tetapi v5 kini sudah deprecated dan v6 direkomendasikan untuk semua skrip baru.
Menyiapkan TradingView
Anda bisa mulai dengan akun TradingView gratis. Buka chart untuk aset apa pun, misalnya BTC/USDT, lalu cari ikon Pine Editor di toolbar sebelah kanan. Klik untuk membuka editor kode.
Saat Anda mengklik Add to Chart, skrip akan berjalan dan hasil muncul di chart aktif Anda. Untuk menghapus skrip, klik kanan di mana saja pada chart dan pilih Remove Indicators. Menjaga chart tetap bersih di antara contoh membantu Anda melihat setiap hasil dengan jelas.
Pine Editor
Pine Editor dilengkapi skrip default dua baris. Berikut contoh minimal di Pine Script v6:
//@version=6 indicator("My Script", overlay=true) plot(close) |
Fungsi indicator() mendefinisikan skrip. Di v5 dan v6, ini menggantikan fungsi study() lama yang digunakan di v4 dan sebelumnya. Parameter overlay=true menempatkan hasil pada chart utama, bukan di panel terpisah di bawahnya. Garis plot(close) menggambar garis dengan menggunakan harga close untuk setiap bar.
Mem-plot Grafik Candlestick
Grafik garis menampilkan harga penutupan, tetapi grafik candlestick menampilkan open, high, low, dan close sekaligus, sehingga memberi Anda informasi yang lebih banyak tentang pergerakan harga. Berikut cara mem-plot candlestick dengan warna:
//@version=6 indicator("Colored Candles", overlay=true) colors = open >= close ? color.red : color.green plotcandle(open, high, low, close, color=colors) |
Skrip ini memeriksa setiap bar: jika harga open lebih besar atau sama dengan close, candlestick berwarna merah (harga bergerak turun). Jika close lebih tinggi daripada open, candlestick berwarna hijau. Ini adalah konvensi warna standar yang digunakan di sebagian besar perangkat lunak charting.
Mem-plot Moving Average
Moving average merapikan data harga selama sejumlah periode tertentu, sehingga tren menjadi lebih mudah dikenali. Pine Script v6 menyertakan fungsi bawaan untuk simple moving average (SMA) dan exponential moving average (EMA) di bawah namespace ta.
Simple Moving Average (SMA)
SMA menghitung rata-rata dari harga penutupan selama jumlah periode tertentu. Untuk mem-plot SMA 10 periode:
plot(ta.sma(close, 10)) |
Mengubah jumlahnya akan menyesuaikan jendela lihat ke belakang. Periode yang lebih panjang menghasilkan garis yang lebih halus dan bereaksi lebih lambat terhadap perubahan terbaru.
Exponential Moving Average (EMA)
Exponential moving average (EMA) memberi bobot lebih besar pada harga terbaru menggunakan pengali yang dihitung sebagai 2 / (length + 1). Ini membuat EMA lebih responsif terhadap perubahan harga dibandingkan SMA. Untuk mem-plot keduanya berdampingan:
//@version=6 indicator("SMA vs EMA", overlay=true) plot(ta.sma(close, 10)) plot(ta.ema(close, 10)) |
Anda akan melihat sedikit perbedaan: EMA mengikuti pergerakan harga lebih dekat saat pasar bergerak cepat, sedangkan SMA tertinggal sedikit di belakang.
Skrip bawaan
TradingView menyertakan versi indikator yang sudah dibuat sebelumnya. Di Pine Editor, klik New lalu pilih indikator seperti Moving Average Exponential untuk melihat kode sumbernya. Skrip-skrip ini sering menggunakan fungsi input bertipe seperti input.int() atau input.float(), yang membuat panel pengaturan interaktif pada chart. Ini memungkinkan Anda mengubah parameter seperti panjang (length) tanpa mengedit kode.
Mem-plot Indikator Relative Strength Index (RSI)
Indikator RSI mengukur kecepatan dan ukuran perubahan harga terbaru. Ia menghasilkan nilai antara 0 dan 100. Nilai di atas 70 sering dikaitkan dengan kondisi yang berpotensi overbought, sementara nilai di bawah 30 mungkin menunjukkan kondisi yang berpotensi oversold. Ini adalah level referensi umum, bukan jaminan arah pergerakan harga.
Di Pine Script v6, fungsi RSI adalah ta.rsi(close, length). Untuk menambahkan strategi RSI yang sudah jadi, klik New > RSI Strategy di Pine Editor. Ini menambahkan penanda arah ke chart berdasarkan ambang RSI dan mengalihkan tampilan ke tab Strategy Tester.
RSI biasanya diukur selama 14 periode, tetapi Anda dapat menyesuaikan nilai ini sesuai pendekatan Anda. Periode yang lebih panjang menghasilkan indikator yang lebih halus dengan lebih sedikit sinyal; periode yang lebih pendek lebih sensitif.
Melakukan Backtesting Strategi Anda
Pine Script menyertakan mode strategy() yang memungkinkan Anda membacktest aturan terhadap data harga historis. Berikut contoh kerangka yang menggunakan variabel input supaya Anda bisa menyesuaikan level di chart tanpa mengedit kode:
//@version=6 strategy("Basic Strategy", overlay=true) entryLevel = input.int(defval=30000, title="Entry price") exitLevel = input.int(defval=32000, title="Exit price") if close <= entryLevel strategy.entry("Long", strategy.long) if close >= exitLevel strategy.close_all(comment="Exit") |
Setelah menambahkan ini ke chart, TradingView akan membuka tab Strategy Tester. Ini menampilkan log entri, exit, dan statistik ringkasan berdasarkan data harga historis. Kinerja masa lalu bukan indikator yang dapat diandalkan untuk hasil di masa depan. Backtesting berguna untuk mengecek apakah logika sebuah strategi masuk akal, tetapi tidak memprediksi hasil masa depan.
Catatan: Di v6, persentase margin default untuk posisi long dan short pada strategi adalah 100%, dan mesin strategi memangkas order yang paling lama alih-alih memunculkan error ketika batas 9.000 trade terlampaui. Perubahan ini dapat memengaruhi cara hasil backtest Anda dibandingkan dengan skrip yang sama yang dijalankan di v5.
Menggabungkan Indikator
Salah satu aplikasi Pine Script yang paling praktis adalah menggabungkan beberapa indikator ke dalam satu tampilan kustom. Skrip berikut mewarnai candlestick berdasarkan kondisi EMA dan RSI sekaligus:
//@version=6 indicator("EMA + RSI Candles", overlay=true) emaLength = input.int(title="EMA Length", defval=25, minval=1) rsiLength = input.int(title="RSI Length", defval=25, minval=1) emaVal = ta.ema(close, emaLength) rsiVal = ta.rsi(close, rsiLength) colors = (close > emaVal and rsiVal > 50) ? color.green : color.red plot(emaVal, "EMA") plotcandle(open, high, low, close, color=colors) |
Skrip ini mewarnai candlestick hijau ketika harga close berada di atas EMA dan RSI di atas 50, dan merah untuk kondisi lainnya. Fungsi input.int() membuat panel pengaturan pada chart sehingga Anda dapat menyesuaikan kedua panjang (length) secara interaktif. Visualisasi seperti ini memudahkan untuk melihat kapan dua kondisi selaras pada bar yang sama.
Konten ini tidak boleh dianggap sebagai nasihat keuangan, dan kombinasi indikator apa pun tidak menghilangkan ketidakpastian dalam trading. Gunakan skrip kustom sebagai bagian dari proses riset dan analisis yang lebih luas.
FAQ
Versi Pine Script apa yang harus saya gunakan?
Pine Script v6 adalah versi terbaru dan yang sebaiknya Anda gunakan untuk semua skrip baru. Versi sebelumnya seperti v5 masih didukung tetapi sudah tidak direkomendasikan (deprecated). Jika Anda memiliki skrip v5 yang sudah ada, Pine Editor menyertakan konverter bawaan: buka dropdown "Manage script" dan pilih "Convert code to v6".
Apa yang terjadi pada fungsi study()?
Fungsi study() diubah namanya menjadi indicator() di Pine Script v5, dan ini berlanjut di v6. Fungsinya sama: mendefinisikan nama skrip dan properti seperti apakah skrip menumpang (overlay) di chart utama atau muncul di panel terpisah. Jika Anda melihat skrip lama yang menggunakan study(), skrip tersebut ditulis untuk v4 atau sebelumnya.
Bisakah saya menggunakan Pine Script secara gratis?
Ya. Pine Editor dan fungsionalitas Pine Script dasar tersedia di semua paket TradingView, termasuk paket gratis. Beberapa fitur, seperti menjalankan beberapa skrip secara bersamaan, memerlukan paket berbayar. Menulis dan menguji skrip kustom tidak memerlukan langganan.
Apa itu namespace ta di Pine Script?
Namespace ta diperkenalkan di Pine Script v5 dan berlanjut di v6. Fungsi analisis teknis bawaan yang sebelumnya dipanggil langsung, seperti ema(), sma(), dan rsi(), kini diakses sebagai ta.ema(), ta.sma(), dan ta.rsi(). Ini membuat kode lebih eksplisit dan lebih mudah dibaca sekilas.
Apa yang berubah di Pine Script v6 untuk strategi?
Beberapa default berubah di strategi v6. Persentase margin default untuk posisi long dan short kini adalah 100%. Mesin strategi juga memangkas order yang paling lama ketika batas 9.000 trade terlampaui, bukan melempar error. Jika Anda memigrasikan strategi v5 ke v6, tinjau hasil backtest Anda karena perubahan ini dapat memengaruhi statistik performa.
Apakah backtesting dapat diandalkan untuk memprediksi performa masa depan?
Tidak. Backtesting menunjukkan bagaimana sebuah strategi seharusnya berkinerja pada data historis, bukan bagaimana strategi itu akan berkinerja di masa depan. Pasar berubah, dan kondisi yang terjadi di masa lalu mungkin tidak akan terulang. Backtesting berguna untuk mengidentifikasi kekeliruan logis dalam sebuah strategi, tetapi tidak boleh digunakan sebagai satu-satunya dasar untuk keputusan trading apa pun.
Penutup
Pine Script v6 membuat Anda bisa membuat dan menguji indikator kustom di TradingView dengan mudah tanpa software atau instalasi eksternal. Mulai dari skrip sederhana lalu menambahkan kompleksitas secara bertahap adalah pendekatan praktis untuk belajar bahasanya. Library skrip contoh bawaan di Pine Editor dan konverter bawaan v5-ke-v6 adalah titik awal yang berguna bagi siapa pun yang melakukan upgrade dari versi sebelumnya.
Indikator adalah alat untuk analisis, bukan sinyal yang menjamin hasil tertentu. Tidak ada kombinasi indikator yang dapat menghilangkan ketidakpastian dalam trading. Gunakan Pine Script sebagai bagian dari proses riset yang lebih luas, dan selalu pertimbangkan manajemen risiko sebagai bagian inti dari setiap strategi.
Bacaan Lanjutan
Apa Itu Analisis Teknis?
Apa Itu Indikator RSI?
Penjelasan Moving Average
Panduan Pemula untuk Grafik Candlestick
Panduan Pemula untuk TradingView
Disclaimer: Konten ini disajikan kepada Anda berdasarkan "apa adanya" untuk informasi umum dan tujuan edukasi saja, tanpa representasi atau jaminan dalam bentuk apa pun. Konten ini tidak boleh ditafsirkan sebagai nasihat keuangan, hukum, atau nasihat profesional lainnya, dan juga tidak dimaksudkan untuk merekomendasikan pembelian produk atau layanan tertentu. Anda harus mencari nasihat Anda sendiri dari penasihat profesional yang sesuai. Jika konten tersebut disumbangkan oleh kontributor pihak ketiga, mohon dicatat bahwa pandangan yang diungkapkan adalah milik kontributor pihak ketiga tersebut, dan tidak harus mencerminkan pandangan Binance Academy. Harga aset digital dapat mengalami volatilitas. Nilai investasi Anda dapat turun atau naik, dan Anda mungkin tidak mendapatkan kembali jumlah yang diinvestasikan. Anda sepenuhnya bertanggung jawab atas keputusan investasi Anda, dan Binance Academy tidak bertanggung jawab atas kerugian apa pun yang mungkin Anda alami. Untuk informasi lebih lanjut, lihat Ketentuan Penggunaan, Peringatan Risiko, dan Ketentuan Binance Academy kami.
