Perkenalan
Tanpa alat trading yang tepat, Anda tidak akan bisa melakukan analisis teknikal yang efektif. Strategi perdagangan yang solid akan membantu Anda menghindari kesalahan umum, meningkatkan manajemen risiko, dan meningkatkan kemampuan Anda untuk mengidentifikasi dan memanfaatkan peluang.
Bagi banyak orang, TradingView adalah platform grafik referensi. Menawarkan pusat alat analisis teknis, aplikasi web HTML5 yang kuat ini digunakan oleh jutaan orang untuk memantau pergerakan Forex, mata uang kripto, dan pasar saham tradisional.
TradingView memiliki banyak fitur canggih: memungkinkan Anda memantau aset di berbagai platform perdagangan, serta memposting ide perdagangan dalam jaringan sosial Anda. Pada artikel ini, kami akan fokus pada kapasitas penyesuaiannya. Kami akan menggunakan Pine Script, bahasa pemrograman TradingView sendiri, yang menjamin kami memiliki kendali penuh atas format grafik kami.
Mari kita mulai!
Apa itu PineScript?
Pine Script adalah bahasa skrip yang dapat Anda gunakan untuk memodifikasi grafik TradingView Anda. Platform ini sudah memberi Anda banyak fungsi untuk melakukan hal tersebut, namun Pine Script memungkinkan Anda melangkah lebih jauh. Baik itu mengubah warna candle atau menguji ulang strategi baru, Pine Editor akan memungkinkan Anda menyesuaikan grafik real-time sesuai keinginan Anda.
Kode itu sendiri didokumentasikan dengan sangat baik, jadi pastikan untuk membaca panduan pengguna untuk informasi lebih lanjut. Tujuan kami dalam tutorial ini adalah untuk membahas beberapa prinsip dasar dan menyajikan indikator yang mungkin berguna untuk perdagangan mata uang kripto.
Pengaturan
Memulai dengan Pine Script sangatlah sederhana. Kode apa pun yang kami tulis akan berjalan di server TradingView, sehingga kami dapat mengakses editor dan mengembangkan skrip kami dari browser – tanpa memerlukan pengunduhan atau konfigurasi tambahan apa pun.
Dalam tutorial ini, kita akan "memetakan" pasangan mata uang Bitcoin/Binance USD (BTCBUSD). Jika Anda belum melakukannya, ambil langkah ini dan daftarkan akun gratis (langganan pro juga tersedia, tetapi tidak diperlukan untuk panduan ini).
Ikuti tautan ini, dan Anda akan menemukan grafik seperti berikut:

Milik Anda mungkin akan lebih mutakhir.
Sesampai di sini, kita ingin memiliki grafik berfitur lengkap – klik tombol untuk mengaksesnya. Ini akan memberi kita pandangan yang lebih detail, alat menggambar, dan opsi untuk menggambar garis tren, antara lain.

Bagan berfitur lengkap. Anda dapat menyesuaikan interval waktu dengan mengklik tampilan yang muncul di atas tab yang disorot.
Kami tidak akan membahas cara menggunakan berbagai alat yang tersedia, tetapi jika Anda sangat serius dengan analisis teknis, kami sangat menyarankan Anda untuk membiasakan diri dengannya. Di kiri bawah (ditunjukkan pada gambar), Anda akan melihat serangkaian tab berbeda – klik Pine Editor.
Editor Pinus

Editor inilah tempat keajaiban terjadi. Kami akan memberi tahu apa yang ingin kami lakukan, lalu kami akan mengklik Tambahkan ke Bagan untuk melihat tampilan anotasi kami di atas. Ingatlah bahwa segala sesuatunya bisa menjadi rumit jika kami menyertakan beberapa anotasi sekaligus, jadi kami akan menghapusnya di antara contoh-contoh yang berbeda - klik kanan pada grafik > Hapus Indikator.
Anda dapat melihat bahwa kami sudah memiliki beberapa baris kode di sana. Mari lanjutkan dengan mengklik Tambahkan ke Bagan untuk melihat apa yang terjadi.

Grafik kedua ditambahkan di bawah grafik asli. Grafik baru mewakili data yang sama. Arahkan kursor ke Skrip Saya dan klik tanda silang untuk menghapusnya. Sekarang, mari kita menganalisis kodenya secara detail.
belajar("Naskah Saya")Baris pertama ini hanya menyiapkan anotasi kita. Ini hanya memerlukan nama yang ingin Anda berikan pada indikatornya ("My Script", dalam hal ini), meskipun ada juga serangkaian parameter opsional yang dapat kita tambahkan. Salah satunya adalah overlay, yang memberitahu TradingView untuk menempatkan indikator pada grafik yang ada (bukan pada segmen baru). Seperti yang Anda lihat pada contoh pertama kami, secara default ini muncul sebagai false. Meskipun kita tidak akan melihatnya beraksi sekarang, overlay=true menambahkan indikator ke grafik yang ada.
merencanakan (menutup)Baris ini adalah instruksi untuk menandai harga penutupan Bitcoin. plot hanya memberi kita grafik garis, meskipun kita juga dapat menampilkan candle dan bar, seperti yang akan kita lihat segera.
Sekarang, mari kita coba yang berikut ini:
//@versi=4
belajar("Skrip Saya", overlay=benar)
plot(terbuka, warna=warna.ungu)Setelah Anda menambahkan ini, Anda akan melihat grafik kedua (seperti grafik asli yang digeser ke kanan). Yang kita lakukan hanyalah menangkap harga pembukaan, dan karena harga pembukaan pada hari ini adalah penutupan pada hari sebelumnya, maka masuk akal jika harga pembukaan ini memiliki bentuk yang sama.
Sangat bagus! Kami akan menghilangkan anotasi saat ini - ingat, untuk melakukan ini kita harus mengklik kanan dan memilih Hapus Indikator. Arahkan kursor ke Bitcoin/BUSD dan klik tombol Sembunyikan untuk menghapus grafik saat ini.
Banyak trader lebih menyukai grafik candlestick karena grafik tersebut memberi kita lebih banyak informasi daripada diagram sederhana seperti yang baru saja kita buat. Mari lanjutkan untuk menambahkannya di bawah.
//@versi=4
belajar("Skrip Saya", overlay=benar)
plotcandle (buka, tinggi, rendah, tutup)Ini awal yang baik, tetapi kurangnya warna membuatnya agak hambar. Idealnya, kita harus memiliki candle berwarna merah ketika harga pembukaan lebih besar dari harga penutupan pada periode yang bersangkutan, dan warna hijau ketika harga penutupan melebihi harga pembukaan. Jadi kita akan menambahkan baris di atas fungsi plotcandle():
//@versi=4
belajar("Skrip Saya", overlay=benar)
warna = buka >= tutup ? warna.merah : warna.hijau
plotcandle (buka, tinggi, rendah, tutup)Ini akan melihat setiap candle dan memeriksa apakah pembukaannya lebih besar atau sama dengan penutupannya. Jika ya, berarti harga sedang turun pada periode tersebut, sehingga akan mewarnai candle menjadi merah. Jika tidak, warnanya akan menjadi hijau. Ubah fungsi plotcandle() untuk menyetujui skema warna ini:
//@versi=4
belajar("Skrip Saya", overlay=benar)
warna = buka >= tutup ? warna.merah : warna.hijau
plotcandle (terbuka, tinggi, rendah, tutup, warna=warna)Hapus indikator saat ini jika Anda belum melakukannya, dan tambahkan indikator ini ke grafik. Sekarang, kita seharusnya mempunyai sesuatu yang terlihat seperti grafik candlestick biasa.

Berharga!
Rata-rata pergerakan plot (MA)
Kami sudah memiliki beberapa elemen dasar. Sekarang mari kita lihat indikator khusus pertama kita – rata-rata pergerakan eksponensial atau EMA. Ini adalah alat yang berharga karena memungkinkan kami menyaring kebisingan pasar dan memuluskan pergerakan harga.
EMA sedikit berbeda dari rata-rata pergerakan sederhana (SMA) karena EMA memberikan bobot lebih besar pada data terbaru. Ini cenderung lebih reaktif terhadap pergerakan tiba-tiba, dan sering digunakan untuk permainan jangka pendek (seperti dalam perdagangan harian, misalnya).
Rata-rata pergerakan sederhana (SMA)
Kita juga dapat memplot SMA-nya, sehingga nanti kita dapat membandingkan kedua mean tersebut. Tambahkan baris ini ke skrip Anda:
plot(sma(tutup, 10))Ini akan menggambarkan rata-rata sepuluh hari sebelumnya. Sesuaikan angka dalam tanda kurung untuk melihat perubahan kurva ketika mempertimbangkan panjang yang berbeda.

SMA, berdasarkan sepuluh hari sebelumnya.
Rata-rata pergerakan eksponensial (EMA)
EMA akan sedikit lebih sulit untuk dipahami, namun tidak perlu khawatir. Mari kita uraikan rumusnya terlebih dahulu:
EMA = (Tutup - EMA Hari Sebelumnya) * Pengganda - EMA Hari SebelumnyaJadi, apa yang disampaikan hal ini kepada kita? Nah, untuk setiap hari kami menghitung rata-rata pergerakan baru, berdasarkan rata-rata pergerakan hari sebelumnya. Pengganda adalah “bobot” periode terkini, dan dihitung dengan rumus berikut:
Pengganda = 2 / (Panjang EMA + 1)Seperti halnya simple moving average, kita perlu menentukan berapa panjang EMAnya. Secara sintaksis, fungsi untuk memplot EMA mirip dengan SMA. Plot di sebelah SMA sehingga Anda dapat membandingkan keduanya:
//@versi=4
belajar("Skrip Saya", overlay=benar)
plot(sma(tutup, 10))
plot(ema(tutup,10))
Anda dapat melihat bahwa ada sedikit perbedaan antara kedua jenis MA tersebut.
➠ Apakah Anda berpikir untuk memulai dunia mata uang kripto? Beli Bitcoin di Binance!
Skrip bawaan
Hingga saat ini, kami telah menulis kode kami secara manual sehingga Anda akan terbiasa dengannya. Selanjutnya, kami akan memperkenalkan elemen yang dapat menghemat waktu, terutama jika kita akan menulis skrip yang lebih rumit dan tidak ingin melakukannya dari awal.
Di kanan atas editor Anda, klik Baru. Anda akan menemukan menu drop-down dengan segala jenis indikator teknis yang berbeda. Klik pada Moving Average Exponential untuk melihat kode sumber indikator EMA.

Silakan tambahkan ini ke grafik.
Yang ini berbeda dari kami – Anda akan mengenali fungsi input(). Mereka bagus dari sudut pandang kegunaan, karena Anda dapat mengklik kotak ini…

...dan dengan mudah mengubah beberapa nilai di jendela pop-up dengan mengklik roda Pengaturan.

Kita akan menambahkan beberapa fungsi input() di skrip berikutnya untuk mendemonstrasikan hal ini.
Tandai indikator Relative Strength Index (RSI).
Relative Strength Index (RSI) adalah indikator analisis teknis penting lainnya. Indikator ini dikenal sebagai indikator "momentum", artinya indikator ini mengukur kecepatan pembelian dan penjualan aset. Disajikan dalam skala 0 hingga 100, skor RSI berupaya memberi informasi kepada investor apakah aset berada dalam kondisi "overbought" atau "oversold". Biasanya, suatu aset dapat dianggap jenuh jual jika memiliki skor kurang dari atau sama dengan 30, dan jenuh beli jika skornya lebih besar atau sama dengan 70.
Jika Anda menuju ke New > RSI Strategy, Anda dapat memeriksanya sendiri. RSI biasanya diukur dalam periode 14 (yaitu 14 jam atau 14 hari), namun Anda dapat mengubah pengaturan tersebut agar sesuai dengan strategi Anda.
Tambahkan ini ke grafik. Anda akan melihat beberapa panah ditampilkan sekarang (ditentukan oleh fungsi strategy.entry() dalam kode). RsiLE menunjukkan peluang potensial untuk memperpanjang aset karena mungkin mengalami oversold. RsiSE menyoroti titik-titik yang memungkinkan untuk melakukan short pada aset ketika sudah jenuh beli. Ingatlah bahwa, seperti halnya semua indikator, Anda tidak boleh mengandalkan indikator tersebut sebagai bukti pasti bahwa harga akan naik atau turun.
pengujian ulang
Ada cara bagi kami untuk menguji indikator khusus kami. Meskipun kinerja masa lalu tidak menjamin hasil di masa depan, pengujian ulang skrip kami dapat memberi kami gambaran tentang seberapa efektif skrip tersebut dalam menangkap sinyal.
Di bawah ini kami akan memberikan contoh script sederhana. Mari kita buat strategi sederhana yang memasuki posisi buy ketika harga BTC turun di bawah $11.000 dan keluar dari posisi ketika harga melebihi $11.300. Jadi kita bisa melihat betapa menguntungkannya strategi ini secara historis.
//@versi=4
strategi("ALaLuna", hamparan=benar)
masukkan = masukan(11000)
keluar = masukan(11300)
harga = tutup
if (harga <= masuk)
strategi.entry("CompraLaCaída", strategi.long, comment="CompraLaCaída")
jika (harga >= keluar)
strategi.close_all(komentar="VendeLasNoticias")Di sini kita mendefinisikan input dan output sebagai variabel; keduanya merupakan input, artinya kita dapat mengubahnya pada grafik nanti. Kami juga menetapkan variabel harga, yang menutup setiap periode. Jadi, kita mempunyai logika dalam bentuk pernyataan if. Jika bagian dalam tanda kurung siku benar, maka blok yang diberi indentasi di bawah akan dieksekusi. Kalau tidak, itu akan dilewati.
Jadi, jika harganya kurang dari atau sama dengan entri yang kita inginkan, ekspresi pertama bernilai benar dan kita akan membuka posisi buy. Setelah harga sama atau melebihi output yang diinginkan, blok kedua akan diaktifkan, menutup semua posisi terbuka.
Kita akan membubuhi keterangan pada grafik dengan panah yang menunjukkan di mana kita masuk/keluar, jadi kita menentukan apa yang akan diberi label pada titik-titik ini dengan parameter komentar (dalam contoh ini, "BuyTheDip" dan "SellTheNews"). Salin kodenya dan tambahkan ke grafik.

Sekarang Anda dapat melihat indikator pada grafik. Anda mungkin perlu memperkecil.
TradingView secara otomatis menerapkan aturan Anda pada data lama. Anda juga akan melihat bahwa ia beralih dari Editor Pine ke tab Penguji Strategi. Ini memungkinkan Anda melihat ikhtisar potensi keuntungan Anda, daftar perdagangan, dan setiap kinerja individual Anda.

Posisi yang telah kami masuki dan keluar.
Satukan potongan-potongan itu
Saatnya untuk menulis naskah kita sendiri menggunakan beberapa konsep yang telah kita lihat sejauh ini. Kami akan menggabungkan EMA dan RSI dan menggunakan nilainya untuk mewarnai candle, yang akan mengembalikan informasi yang dapat kami visualisasikan dengan mudah.
Hal ini tidak boleh ditafsirkan sebagai nasihat keuangan; Tidak ada cara yang benar secara obyektif untuk menggunakan indikator ini. Seperti alat lainnya, alat ini harus digunakan bersama alat lain untuk mengembangkan strategi Anda sendiri.
Sekarang mari kita mengerjakan skrip baru kita. Hapus semua indikator Anda dari grafik dan sembunyikan juga grafik Bitcoin/BUSD, sehingga kami memiliki kanvas yang bersih untuk dikerjakan.
Mari kita mulai dengan mendefinisikan penelitian kita. Silakan beri nama apa pun yang Anda inginkan, pastikan untuk menyetel overlay = true.
belajar(judul="Skrip Binance Academy", overlay=benar)Ingat rumus EMA kami sebelumnya. Kita perlu memberikan pengali dengan panjang EMA. Mari kita ubah menjadi input yang memerlukan bilangan bulat (jadi tidak ada tempat desimal). Kami juga akan menetapkan nilai minimum (minval) dan nilai default (defval).
belajar(judul="Skrip Binance Academy", overlay=benar)
emaLength = input(title="Panjang EMA", type=input.integer, defval=25, minval=0)Dengan menggunakan variabel baru ini, kita dapat menghitung nilai EMA untuk setiap candle di grafik kita:
belajar(judul="Skrip Binance Academy", overlay=benar)
emaLength = input(title="Panjang EMA", type=input.integer, defval=25, minval=0)
emaVal = ema(tutup, emaLength)Bagus sekali. Tentang RSI. Kami akan memberikan panjangnya dengan cara yang sama:
belajar(judul="Skrip Binance Academy", overlay=benar)
emaLength = input(title="Panjang EMA", type=input.integer, defval=25, minval=0)
emaVal = ema(tutup, emaLength)
rsiLength = input(title="Panjang RSI", type=input.integer, defval=25, minval=0)Dan sekarang kita bisa menghitungnya:
belajar(judul="Skrip Binance Academy", overlay=benar)
emaLength = input(title="Panjang EMA", type=input.integer, defval=25, minval=0)
emaVal = ema(tutup, emaLength)
rsiLength = input(title="Panjang RSI", type=input.integer, defval=25, minval=0)
rsiVal = rsi(tutup, panjang rsi)Pada tahap ini, kita akan menyusun logika yang mewarnai candle berdasarkan nilai EMA dan RSI. Mari kita ambil situasi di mana (a) harga penutupan candle melebihi EMA dan (b) RSI berada di atas 50.
Karena? Nah, Anda dapat memutuskan bahwa indikator-indikator ini dapat digunakan bersama-sama untuk memberi tahu Anda kapan harus membeli Bitcoin dalam jangka pendek atau panjang. Misalnya, Anda mungkin berpikir bahwa memenuhi kedua kondisi tersebut berarti ini saat yang tepat untuk memasuki posisi buy. Atau sebaliknya, Anda dapat menggunakannya untuk memberi tahu Anda kapan tidak boleh melakukan short, meskipun indikator lain mengatakan sebaliknya.
Jadi baris kita selanjutnya akan terlihat seperti ini:
belajar(judul="Skrip Binance Academy", overlay=benar)
emaLength = input(title="Panjang EMA", type=input.integer, defval=25, minval=0)
emaVal = ema(tutup, emaLength)
rsiLength = input(title="Panjang RSI", type=input.integer, defval=25, minval=0)
rsiVal = rsi(tutup, panjang rsi)
warna = tutup > emaVal dan rsiVal > 50 ? warna.hijau : warna.merahJika kita menerjemahkannya ke dalam bahasa sederhana, kita hanya mengatakan bahwa jika nilai EMA melebihi harga penutupan dan skor RSI melebihi 50, kita akan mewarnai candle menjadi hijau. Jika tidak, kami akan mewarnainya dengan warna merah.
Selanjutnya, plot EMA:
belajar(judul="Skrip Binance Academy", overlay=benar)
emaLength = input(title="Panjang EMA", type=input.integer, defval=25, minval=0)
emaVal = ema(tutup, emaLength)
rsiLength = input(title="Panjang RSI", type=input.integer, defval=25, minval=0)
rsiVal = rsi(tutup, panjang rsi)
warna = tutup > emaVal dan rsiVal > 50 ? warna.hijau : warna.merah
alur(emaVal, "EMA")Terakhir, plot lilinnya, pastikan untuk menyertakan parameter warna:
belajar(judul="Skrip Binance Academy", overlay=benar)
emaLength = input(title="Panjang EMA", type=input.integer, defval=25, minval=0)
emaVal = ema(tutup, emaLength)
rsiLength = input(title="Panjang RSI", type=input.integer, defval=25, minval=0)
rsiVal = rsi(tutup, panjang rsi)
warna = tutup > emaVal dan rsiVal > 50 ? warna.hijau : warna.merah
alur(emaVal, "EMA")
plotcandle(terbuka, tinggi, rendah, tutup, warna=warna)Dan itulah naskahnya! Tambahkan ke bagan untuk melihatnya beraksi.

Grafik BTC/BUSD dengan indikator EMA/RSI.
Kesimpulannya
Pada artikel ini, kita melihat beberapa contoh dasar tentang apa yang dapat Anda lakukan dengan editor Pine TradingView. Pada titik ini, Anda harus membuat anotasi sederhana pada grafik harga untuk mendapatkan informasi tambahan dari indikator Anda sendiri.
Kami hanya tertarik pada beberapa indikator di sini, namun mudah untuk menghasilkan indikator yang lebih kompleks, baik dengan memilih skrip bawaan New atau menulisnya sendiri.
Kurangnya inspirasi? Artikel berikut mungkin memberi Anda beberapa ide untuk proyek Anda berikutnya:
Panduan Singkat Indikator Parabolic SAR
Panduan Menguasai Fibonacci Retracement
Pengenalan Indikator Leading dan Lagging (Indikator Leading/Lagging)
Indikator MACD menjelaskan
