Apa itu Aksara Pinus?

Pine Script adalah bahasa skrip yang digunakan untuk memodifikasi grafik Anda di platform TradingView. Platform ini memberi Anda banyak fitur untuk melakukan hal ini, tetapi Pine Script memungkinkan Anda bergerak menuju tujuan Anda. Baik Anda ingin mengubah warna grafik aksi harga atau menguji ulang strategi baru, editor Pine akan membantu Anda menyesuaikan grafik real-time sesuai keinginan Anda.

Kode ini didokumentasikan dengan baik, jadi pastikan untuk membaca panduan pengguna untuk informasi lebih lanjut. Melalui tutorial ini, kami bertujuan untuk membahas beberapa dasar dan memberikan indikator yang dapat berguna dalam trading mata uang digital.

persiapan

Sangat mudah untuk mulai menggunakan Pine Script. Kode apa pun yang kami tulis berjalan di server TradingView, sehingga kami dapat menggunakan editor dan mengembangkan skrip dari browser – tidak diperlukan pengunduhan atau konfigurasi tambahan.

Dalam tutorial ini, kita akan membuat grafik untuk pasangan mata uang Bitcoin/Binance USD (BTCBUSD). Jika Anda belum memiliki akun, Anda dapat melanjutkan dan membuatnya secara gratis (langganan profesional juga tersedia, namun tidak diperlukan untuk panduan ini).

Ikuti tautan ini, dan Anda akan melihat grafik seperti berikut:

Bagan Anda kemungkinan besar akan lebih canggih.

Di sini kami ingin bagan berfitur lengkap – klik tombol untuk mengaksesnya. Ini memberi kita gambaran umum dan alat menggambar yang lebih rinci, serta opsi untuk menggambar garis tren di antara fitur-fitur lainnya.

Bagan berfitur lengkap. Anda dapat mengedit kerangka waktu dengan mengeklik tampilan di atas tab yang disorot.

Kami tidak akan membahas cara menggunakan berbagai alat yang tersedia, tetapi jika Anda tertarik dengan analisis teknis, kami sangat menyarankan Anda memeriksanya agar terbiasa dengannya. Di kiri bawah (disorot pada gambar), Anda akan menemukan beberapa tab berbeda – klik Pine Editor.

Editor pinus

Editor ini menawarkan Anda serangkaian fitur menawan. Kita beri tahu apa yang ingin kita lakukan, lalu klik Tambahkan ke Bagan untuk melihat komentar kita muncul di bagian atas. Harap perhatikan bahwa diagram mungkin menjadi tidak rapi jika Anda memasukkan beberapa komentar sekaligus, jadi kami akan menghapusnya di antara contoh ( klik kanan pada diagram > Hapus Indikator).

Anda dapat melihat bahwa kami sudah memiliki dua baris kode. Mari klik Tambahkan ke Bagan untuk melihat apa yang terjadi.

Bagan kedua ditambahkan di bawah bagan asli. Bagan baru akan mewakili data yang sama. Gerakkan mouse Anda ke atas tombol Skrip Saya dan klik elipsis untuk menghapusnya. Mari kita bahas kodenya lebih detail.

belajar("Naskah Saya")

Baris pertama menyiapkan komentar kami. Ini hanya membutuhkan nama yang Anda inginkan untuk memanggil indikator tersebut ("My Script", dalam kasus ini), tetapi ada juga beberapa variabel opsional yang dapat kita tambahkan. Salah satu variabel tersebut adalah overlay, yang memberitahu platform untuk menempatkan indikator pada grafik saat ini (bukan pada sektor baru). Seperti yang Anda lihat pada contoh pertama, defaultnya adalah false. Jadi, kita tidak akan melihatnya berjalan sekarang, overlay=true menambahkan indikator ke grafik saat ini.

merencanakan (menutup)

Baris ini adalah instruksi untuk merencanakan harga penutupan Bitcoin. Grafik tersebut memberi kita diagram garis, namun kita juga dapat menampilkan pergerakan harga dan diagram batang, seperti yang akan kita lihat sebentar lagi.

Sekarang mari kita coba yang berikut ini:

//@version=4 study("Script Saya", overlay=true) plot(terbuka, warna=warna.ungu)

Setelah Anda menambahkan simbol ini, Anda akan melihat grafik kedua (sepertinya grafik asli telah bergeser ke sisi kanan). Yang kami lakukan hanyalah memplot harga pembukaan. Karena harga pembukaan hari ini adalah harga penutupan hari sebelumnya, masuk akal jika bentuknya serupa.

Bagus! Mari kita hilangkan komentar yang ada (ingat kita melakukannya dengan mengklik kanan dan menekan Hapus Indikator). Gerakkan mouse Anda ke BTC/BUSD lalu klik tombol Sembunyikan untuk menghapus grafik saat ini juga.

Banyak trader lebih menyukai grafik aksi harga karena grafik tersebut memberi kita lebih banyak informasi daripada gambar sederhana seperti yang baru saja kita lakukan. Mari tambahkan di bawah.

//@version=4 study("Script Saya", overlay=true) plotcandle(terbuka, tinggi, rendah, tutup)

Awal yang bagus, tapi kurangnya warna membuatnya agak membosankan. Idealnya, kita harus memiliki candle merah ketika harga pembukaan lebih besar dari harga penutupan selama jangka waktu tertentu, dan candle hijau ketika harga penutupan melebihi harga pembukaan. Kami akan menambahkan baris di atas properti candle plot():

//@version=4 study("Script Saya", overlay=true) warna = buka >= tutup ? color.red : color.green plotcandle (terbuka, tinggi, rendah, tutup)

Hal ini terjadi di setiap grafik aksi harga serta memeriksa apakah harga pembukaan lebih besar atau sama dengan harga penutupan. Dalam hal ini berarti harga telah turun selama periode tertentu, sehingga grafik aksi harga akan berwarna merah. Jika tidak, warnanya akan menjadi hijau. Ubah fungsi drawcandle() untuk memasukkan skema warna:

//@version=4 study("Script Saya", overlay=true) warna = buka >= tutup ? color.red : color.green plotcandle (terbuka, tinggi, rendah, tutup, warna=warna)

Hapus indikator yang ada jika Anda belum menghapusnya, dan tambahkan indikator ini ke grafik. Kita harus memiliki sesuatu yang mewakili grafik aksi harga normal.

Menggambar rata-rata bergerak (MA)

Kami memiliki beberapa dasar di bawah ini. Mari beralih ke indikator khusus pertama – Exponential Moving Average atau EMA. Ini adalah alat berharga yang memungkinkan kita menghilangkan gangguan pasar dan membuatnya lebih mudah untuk memahami pergerakan pasar.

Rata-rata pergerakan eksponensial sedikit berbeda dengan rata-rata pergerakan sederhana (SMA), karena rata-rata ini berfokus pada data terkini. Ini cenderung bereaksi terhadap pergerakan tiba-tiba dan biasanya digunakan dalam perdagangan jangka pendek (misalnya perdagangan harian).

Rata-Rata Pergerakan Sederhana (SMA)

Kita mungkin juga menggambar rata-rata pergerakan sederhana, jadi kita harus membandingkannya nanti. Tambahkan baris ini ke skrip Anda:

plot(sma(tutup, 10))

Ini mewakili rata-rata 10 hari sebelumnya. Sesuaikan angka dalam tanda kurung untuk melihat seberapa besar perubahan kurva ketika periode yang berbeda diperhitungkan.

Rata-rata pergerakan sederhana didasarkan pada 10 hari sebelumnya.

Rata-Rata Pergerakan Eksponensial (EMA)

Rata-Rata Pergerakan Eksponensial mungkin sedikit sulit untuk dipahami, namun jangan khawatir. Mari kita pertimbangkan persamaannya secara detail:

EMA = (Tutup - EMA Hari Sebelumnya) * Pengganda - EMA Hari Sebelumnya

Jadi, apa artinya hal itu bagi kita? Nah, rata-rata pergerakan baru setiap hari dihitung berdasarkan rata-rata pergerakan hari sebelumnya. Pengganda adalah “bobot data” selama periode terbaru, dan dihitung dengan persamaan berikut:

Pengganda = 2 / (Panjang EMA + 1)

Untuk rata-rata pergerakan sederhana, kita perlu menentukan berapa lama rata-rata pergerakan eksponensial akan bertahan. Dari segi struktur, plot rata-rata pergerakan eksponensial mirip dengan plot rata-rata pergerakan sederhana. Gambarlah di sebelah rata-rata pergerakan sederhana sehingga Anda dapat membandingkannya:

//@version=4 study("Script Saya", overlay=true) plot(sma(close, 10)) plot(ema(close,10))

Anda dapat melihat sedikit perbedaan antara kedua jenis moving average tersebut.

Skrip yang tertanam

Kami telah menulis kodenya sejauh ini sehingga Anda familier dengannya. Namun mari kita tawarkan sesuatu yang akan membantu menghemat waktu, terutama jika menulis skrip yang lebih rumit, dan kita tidak ingin melakukannya dari awal.

Klik tombol Baru yang terletak di kanan atas editor Anda. Anda akan melihat menu drop-down dengan berbagai jenis indikator teknis. Klik pada Exponential Moving Average untuk melihat kode sumber indikator Exponential Moving Average.

Kemudian tambahkan ke grafik.

Ini berbeda dari kode kita sendiri – Anda akan melihat properti input(). Ini bagus untuk digunakan karena Anda dapat mengklik kotak ini…

Anda juga dapat mengubah beberapa nilai di jendela pop-up dengan mudah dengan mengklik roda pengaturan.

Kami akan menambahkan dua properti input() dalam skrip berikut untuk menunjukkan cara melakukan ini.

Grafik Indeks Kekuatan Relatif (RSI).

Relative Strength Index (RSI) adalah salah satu indikator dasar dalam analisis teknikal. Ini dikenal sebagai indikator momentum, yang berarti mengukur tingkat pembelian dan penjualan aset. Peringkat pada skala mulai dari 0 hingga 100, skor RSI berupaya memberi tahu investor apakah suatu aset mengalami jenuh beli atau jenuh jual. Biasanya, suatu aset dianggap jenuh jual jika skornya kurang dari atau sama dengan 30, dan dianggap jenuh beli jika skornya lebih besar atau sama dengan 70.

Jika Anda membuka New > RSI Strategy, Anda dapat melihatnya sendiri. RSI diukur selama 14 periode (yaitu 14 jam atau 14 hari), namun Anda memiliki kebebasan untuk menyesuaikan pengaturan ini agar sesuai dengan strategi Anda.

Tambahkan itu ke grafik. Anda sekarang akan melihat beberapa panah (diidentifikasi oleh properti enter.strategy() dalam kode). RsiLE menunjukkan potensi peluang pembelian untuk aset tersebut karena mungkin berada dalam zona oversold. Sedangkan RsiSE menyoroti potensi nilai jual aset tersebut ketika berada di zona overbought. Harap dicatat bahwa, seperti semua indikator, indikator ini tidak boleh diandalkan sebagai bukti pasti kenaikan atau penurunan harga.

Lakukan tes balik

Ada cara yang memungkinkan kita menguji indikator khusus. Meskipun kinerja masa lalu tidak menjamin hasil di masa depan, proses backtesting skrip memberi kita gambaran tentang seberapa efektif skrip tersebut dalam menerima sinyal.

Di bawah ini adalah contoh skrip sederhana. Kami akan membuat strategi sederhana untuk memasuki perdagangan panjang ketika harga Bitcoin turun di bawah $11.000 dan keluar dari perdagangan ketika harga melebihi $11.300. Dengan demikian, kita dapat mengetahui seberapa menguntungkan strategi ini secara historis.

//@version=4 strategi("ToDaMoon", overlay=true) enter = masukan(11000) keluar = masukan(11300) harga = tutup jika (harga <= masuk)     strategy.entry("BuyTheDip", strategi.long , comment="BuyTheDip") if (harga >= keluar)     strategy.close_all(comment="SellTheNews")

Di sini kita telah mendefinisikan titik masuk dan keluar sebagai variabel – keduanya merupakan input, yang berarti kita dapat mengubahnya pada grafik nanti. Kami juga telah menetapkan variabel harga, yang mencatat harga penutupan setiap periode. Jadi, ada sesuatu yang logis tentang penggunaan pernyataan if. Jika bagian yang diberi tanda kurung benar, blok yang diberi indentasi akan diaktifkan. Jika tidak, maka akan dilewati.

Selain itu, jika harga turun atau sama dengan harga masuk yang diinginkan, pernyataan tersebut akan dinilai benar, dan kami akan membuka perdagangan beli. Setelah harga sama atau melampaui harga keluar yang disyaratkan, blok kedua akan diaktifkan, serta menutup semua perdagangan terbuka.

Kami akan menambahkan komentar ke grafik menggunakan panah untuk menunjukkan titik masuk dan keluar, jadi kami telah mengidentifikasi nama titik-titik ini di bingkai komentar (dalam contoh ini, “Beli Dip” dan “Jual di Berita”). Salin simbol dan tambahkan ke bagan.

Anda sekarang dapat melihat indikator pada grafik. Anda mungkin perlu memperkecil tampilan untuk melihatnya.

TradingView menerapkan aturan Anda pada data lama. Anda juga akan melihat transisi dari editor Pine ke tab Penguji Strategi. Ini memungkinkan Anda melihat ikhtisar potensi keuntungan, daftar perdagangan, dan kinerjanya masing-masing.

Perdagangan yang kami masuki dan keluar.

Tautkan item bersama-sama

Saatnya untuk menulis program kita sendiri dengan menggunakan beberapa konsep yang telah dijelaskan sejauh ini. Kami akan menggabungkan Rata-Rata Pergerakan Eksponensial dan RSI menggunakan nilainya untuk mewarnai grafik aksi harga dan mendapatkan wawasan yang masuk akal.

Hal ini tidak boleh ditafsirkan sebagai nasihat keuangan – karena tidak ada cara yang benar dan obyektif untuk menggunakan indikator ini. Mirip dengan semua indikator lainnya, indikator ini harus digunakan bersama dengan alat lain untuk mengembangkan strategi investasi Anda.

Mari mulai mengerjakan skrip baru. Hapus semua indikator dari grafik, dan sembunyikan juga grafik BTC/BUSD, sehingga kita memiliki grafik kosong untuk mulai bekerja.

Mari kita mulai dengan mendefinisikan penelitian ini. Anda dapat menggunakan nama apa pun yang Anda inginkan, pastikan untuk menyetel overlay=true.

belajar(judul="Skrip Binance Academy", overlay=benar)

Ingat persamaan rata-rata bergerak eksponensial yang kita bicarakan sebelumnya. Kita perlu menyediakan data pengganda untuk periode yang dibutuhkan oleh rata-rata pergerakan eksponensial. Mari kita jadikan kolom masukan yang memerlukan bilangan bulat (karenanya, tidak ada tempat desimal). Kami juga akan menentukan nilai minimum (minval) dan nilai default (defval).

belajar(judul='Binance Academy Script', overlay=true) emaLength = input(title='EMA Panjang', type=input.integer, defval=25, minval=0)

Kita dapat menghitung nilai EMA untuk setiap candle pada grafik dengan menggunakan variabel baru:

belajar(judul="Binance Academy Script", overlay=true) emaLength = input(title="EMA Panjang", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength)

luar biasa. Mengenai Relative Strength Index (RSI). Kami akan memasuki periode dengan cara yang sama:

study(title="Binance Academy Script", overlay=true) emaLength = input(title="EMA Panjang", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input (title="Panjang RSI", type=input.integer, defval=25, minval=0)

Sekarang kita dapat menghitungnya:

study(title="Binance Academy Script", overlay=true) emaLength = input(title="EMA Panjang", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input (title="Panjang RSI", type=input.integer, defval=25, minval=0) rsiVal = rsi(close, rsiLength)

Pada titik ini, Anda harus menyadari bahwa warna grafik aksi harga bergantung pada nilai EMA dan RSI. Mari kita perhatikan contoh ketika (a) harga penutupan candle melintasi EMA dan (b) RSI berada di atas 50.

Mengapa? Nah, Anda mungkin memutuskan bahwa indikator-indikator ini dapat digunakan bersama untuk memberi tahu Anda kapan harus membeli atau menjual Bitcoin. Misalnya, Anda mungkin berpikir bahwa memenuhi kedua kondisi tersebut berarti ini adalah saat yang tepat untuk memasuki perdagangan jangka panjang. Sebagai alternatif, Anda dapat menggunakan indikator untuk mengingatkan Anda kapan Anda tidak boleh menjual, meskipun indikator lain menunjukkan sebaliknya.

Jadi, baris selanjutnya terlihat seperti ini:

study(title="Binance Academy Script", overlay=true) emaLength = input(title="EMA Panjang", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input (title="RSI Panjang", type=input.integer, defval=25, minval=0) rsiVal = rsi(close, rsiLength) warna = close > emaVal dan rsiVal > 50 ? warna.hijau : warna.merah

Jika kita terjemahkan ke dalam bahasa Inggris sederhana, artinya jika EMA melebihi harga penutupan dan skor RSI melewati 50, kita akan mewarnai candle menjadi hijau. Jika tidak, warnanya akan menjadi merah.

Kemudian, buat plot rata-rata pergerakan eksponensial:

study(title="Binance Academy Script", overlay=true) emaLength = input(title="EMA Panjang", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input (title="RSI Panjang", type=input.integer, defval=25, minval=0) rsiVal = rsi(close, rsiLength) warna = close > emaVal dan rsiVal > 50 ? warna.hijau : warna.merah plot(emaVal, "EMA")

Terakhir, gambar lilinnya, pastikan untuk menyertakan variabel warna:

study(title="Binance Academy Script", overlay=true) emaLength = input(title="EMA Panjang", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input (title="RSI Panjang", type=input.integer, defval=25, minval=0) rsiVal = rsi(close, rsiLength) warna = close > emaVal dan rsiVal > 50 ? color.green : color.red plot(emaVal, "EMA") plotcandle(terbuka, tinggi, rendah, tutup, warna=warna)

Dan Anda sudah selesai dengan naskahnya! Tambahkan hal tersebut ke bagan Anda untuk melihatnya beraksi.

Grafik BTC/BUSD menggunakan EMA/RSI.

Kesimpulan pemikiran

Pada artikel ini kita telah melihat beberapa contoh dasar tentang apa yang dapat dilakukan dengan menggunakan Editor Pine TradingView. Anda harus bisa membuat komentar sederhana pada grafik harga untuk mendapatkan wawasan tambahan dari indikator Anda.

Kami hanya menyoroti dua indikator di sini, namun mudah untuk membuat indikator yang lebih kompleks – baik dengan mendefinisikan kembali skrip bawaan atau menulisnya sendiri.

Butuh ide-ide inspiratif? Artikel berikut dapat membantu Anda mendapatkan beberapa ide untuk proyek Anda berikutnya: