Perkenalan

Tanpa alat trading yang tepat, Anda tidak dapat melakukan analisis teknis yang efektif. Strategi trading yang kuat akan membantu Anda menghindari kesalahan umum, meningkatkan manajemen risiko, dan meningkatkan kemampuan Anda untuk mengidentifikasi dan memanfaatkan peluang.

Bagi banyak orang, TradingView adalah platform pembuatan grafik pilihan. Menawarkan pusat alat analisis teknis, aplikasi web HTML5 yang kuat digunakan oleh jutaan orang untuk melacak pergerakan di pasar Forex, mata uang kripto, dan pasar saham tradisional.

TradingView memiliki banyak fitur canggih: memungkinkan kami melacak aset di berbagai platform perdagangan dan mempublikasikan ide perdagangan dalam jaringan sosialnya. Pada artikel ini, kami akan fokus pada kemampuan penyesuaiannya. Kami akan menggunakan Pine Script, bahasa pemrograman TradingView, yang memberi kami kontrol terperinci atas tata letak grafik kami.

Mari kita mulai!


Apa itu Aksara Pinus?

Pine Script adalah bahasa skrip yang dapat digunakan untuk memodifikasi grafik TradingView Anda. Platform ini telah membekali Anda dengan banyak fitur untuk melakukan hal tersebut, namun Pine Script memungkinkan Anda melangkah lebih jauh. Baik Anda ingin mengubah warna kandil atau menguji kembali strategi baru, Editor Pine 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 dasar dan memperkenalkan indikator yang berguna untuk perdagangan mata uang kripto.


Pengaturan

Sangat mudah untuk memulai dengan Pine Script. Setiap kode yang kami tulis dijalankan di server TradingView, sehingga kami dapat mengakses editor dan mengembangkan skrip kami dari browser – tanpa memerlukan pengunduhan atau konfigurasi tambahan.

Dalam tutorial ini, kita akan memetakan pasangan mata uang Bitcoin/Binance USD (BTCBUSD). Jika Anda belum memilikinya, silakan buat akun gratis (langganan pro juga tersedia, tetapi ini tidak diperlukan dalam panduan ini).

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


BTCBUSD Chart on tradingview

Milik Anda mungkin akan lebih mutakhir.


Di sini, kami ingin mendapatkan grafik berfitur lengkap – klik tombol untuk mengaksesnya. Itu memberi kita pandangan yang lebih detail, alat menggambar, dan opsi untuk merencanakan garis tren, antara lain.


Full featured chart on tradingview for BTCBUSD

Bagan berfitur lengkap. Anda dapat menyesuaikan jangka waktu dengan mengeklik tampilan di atas tab yang disorot.


Kami tidak akan membahas cara menggunakan berbagai alat yang tersedia, tetapi jika Anda serius tentang analisis teknis, kami sangat menyarankan Anda untuk membiasakan diri dengannya. Di kiri bawah (diuraikan dalam gambar), Anda akan melihat beberapa tab berbeda – klik Pine Editor.


Editor Pinus


screenshot of the pine editor


Editor inilah tempat keajaiban terjadi. Kami akan memberi tahu apa yang ingin kami lakukan, lalu klik Tambahkan ke Bagan untuk melihat anotasi kami muncul di atas. Perhatikan bahwa segala sesuatunya bisa menjadi berantakan jika kami menyertakan beberapa anotasi sekaligus, jadi kami akan menghapusnya di antara contoh (klik kanan pada bagan > Hapus Indikator).

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


Adding first script to tradingview chart


Bagan kedua ditambahkan di bawah bagan asli. Bagan baru kebetulan mewakili data yang sama. Arahkan kursor ke Skrip Saya dan klik tanda silang untuk menghapusnya. Sekarang, mari kita gali kodenya.

belajar("Naskah Saya")

Baris pertama ini hanya menyiapkan anotasi kita. Ini hanya memerlukan nama yang ingin Anda panggil sebagai indikator ("My Script", dalam hal ini), namun ada juga beberapa parameter opsional yang dapat kita tambahkan. Salah satunya adalah overlay, yang memberitahu TradingView untuk menempatkan indikator pada grafik yang ada (bukan di segmen baru). Seperti yang Anda lihat dari contoh pertama kami, defaultnya adalah false. Meskipun kita tidak akan melihatnya beraksi sekarang, overlay=true menambahkan indikator ke grafik yang ada.

merencanakan (menutup)

Baris ini adalah instruksi untuk merencanakan harga penutupan Bitcoin. plot hanya memberi kita grafik garis, tetapi kita juga dapat menampilkan kandil dan batang, 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 (yang terlihat seperti grafik asli bergeser ke kanan). Yang kita lakukan hanyalah memplot harga pembukaan, dan karena pembukaan hari ini adalah penutupan hari sebelumnya, masuk akal jika harga pembukaannya memiliki bentuk yang sama.

Oke! Mari kita hilangkan anotasi saat ini (ingat, kita melakukannya dengan mengklik kanan dan menekan Hapus Indikator). Arahkan kursor ke Bitcoin / BUSD dan klik tombol Sembunyikan untuk menghapus grafik saat ini juga.

Banyak trader lebih menyukai grafik candlestick karena grafik tersebut memberi kita lebih banyak informasi daripada plot sederhana seperti yang baru saja kita lakukan. Mari tambahkan berikutnya.

//@versi=4
belajar("Skrip Saya", overlay=benar)
plotcandle (buka, tinggi, rendah, tutup)

Ini awal yang bagus, tapi kurangnya warna membuatnya agak hambar. Idealnya, kita harus memiliki candle berwarna merah ketika harga pembukaan lebih besar dari harga penutupan pada jangka waktu tertentu, dan candle berwarna hijau jika harga penutupan melebihi harga pembukaan. Kami 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 melihat setiap kandil dan memeriksa apakah pembukaannya lebih besar atau sama dengan penutupannya. Jika ya, berarti harga telah turun selama periode tersebut, sehingga candlestick akan berwarna merah. Jika tidak, warnanya akan menjadi hijau. Ubah fungsi plotcandle() untuk meneruskan skema warna ini di:

//@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 memiliki sesuatu yang menyerupai grafik candlestick biasa.


Candlestick chart on tradingview

Cantik!


Merencanakan rata-rata pergerakan (MA)

Kami telah menguasai beberapa hal mendasar. Mari beralih ke 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 lebih memberi bobot pada data terbaru. Ini cenderung lebih reaktif terhadap pergerakan tiba-tiba dan sering digunakan untuk permainan jangka pendek (misalnya dalam perdagangan harian).


Rata-rata pergerakan sederhana (SMA)

Kita sebaiknya memplot SMA-nya, supaya kita bisa membandingkan keduanya setelahnya. Tambahkan baris ini ke skrip Anda:

plot(sma(tutup, 10))

Ini menggambarkan rata-rata sepuluh hari sebelumnya. Sesuaikan angka dalam tanda kurung untuk melihat perubahan kurva jika memperhitungkan panjang yang berbeda.


Simple moving average based on previous 10 days

SMA, berdasarkan sepuluh hari sebelumnya.


Rata-rata pergerakan eksponensial (EMA)

EMA akan sedikit lebih sulit untuk dipahami, tapi jangan khawatir. Mari kita uraikan rumusnya terlebih dahulu:

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

Jadi, 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 yang “menimbang” 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 samping SMA sehingga Anda dapat membandingkan keduanya:

//@versi=4
belajar("Skrip Saya", overlay=benar)
plot(sma(tutup, 10))
plot(ema(tutup,10))


EMA and SMA on one tradingview chart

Anda bisa melihat sedikit perbedaan pada kedua jenis MA tersebut.


➠ Ingin memulai cryptocurrency? Beli Bitcoin di Binance!


Skrip bawaan

Sejauh ini, kami telah menulis kode kami secara manual sehingga Anda dapat merasakannya. Namun mari kita perkenalkan sesuatu yang dapat menghemat waktu kita, terutama jika kita sedang menulis skrip yang lebih rumit, dan kita tidak ingin melakukannya dari awal.

Di sisi kanan atas editor Anda, klik Baru. Anda akan mendapatkan menu tarik-turun dengan segala jenis indikator teknis yang berbeda. Klik Moving Average Exponential untuk melihat kode sumber indikator EMA.



Moving average exponential in pine script

Silakan tambahkan ini ke grafik.


Yang ini berbeda dari kami – Anda akan melihat fungsi input(). Ini bagus dari sudut pandang kegunaan karena Anda dapat mengklik kotak ini…


Modifying a chart on tradingview interface


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


changing inputs on EMA


Kami akan menambahkan beberapa fungsi input() di skrip berikutnya untuk mendemonstrasikan hal ini.


Merencanakan indikator Relative Strength Index (RSI).

Relative Strength Index (RSI) adalah indikator penting lainnya dalam analisis teknis. Ini dikenal sebagai indikator momentum, artinya indikator ini mengukur tingkat pembelian dan penjualan aset. Disajikan dalam skala 0 hingga 100, skor RSI berupaya memberi informasi kepada investor apakah suatu aset mengalami jenuh beli atau jenuh jual. Biasanya, suatu aset dapat dianggap jenuh jual jika memiliki skor kurang dari atau sama dengan 30, dan dapat dianggap jenuh beli dengan skor lebih besar atau sama dengan 70.

Jika Anda membuka New > RSI Strategy, Anda dapat melihatnya sendiri. RSI umumnya diukur dalam periode 14 (yaitu, 14 jam atau 14 hari), namun Anda bebas 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 membeli aset karena mungkin mengalami oversold. RsiSE menyoroti titik-titik yang memungkinkan untuk melakukan short pada suatu aset ketika sudah jenuh beli. Perhatikan bahwa, seperti halnya semua indikator, Anda tidak boleh mengandalkan indikator ini sebagai bukti kuat bahwa harga akan turun/naik.


pengujian ulang

Ada cara bagi kami untuk menguji indikator khusus kami. Meskipun performa di masa lalu tidak menjamin hasil di masa mendatang, pengujian ulang skrip dapat memberikan gambaran seberapa efektif skrip dalam menangkap sinyal.

Kami akan memberikan contoh skrip sederhana di bawah ini. Kami akan membuat strategi langsung yang memasuki posisi panjang ketika harga BTC turun di bawah $11.000 dan keluar dari posisi ketika harga melebihi $11.300. Kita kemudian dapat melihat betapa menguntungkannya strategi ini secara historis.

//@versi=4
strategi("ToDaMoon", overlay=benar)
masukkan = masukan(11000)
keluar = masukan(11300)
harga = tutup

if (harga <= masuk)
strategi.entry("BeliTheDip", strategi.panjang, komentar="BeliTheDip")
jika (harga >= keluar)
strategi.close_all(comment="SellTheNews")

Di sini kita mendefinisikan entri dan keluar sebagai variabel – keduanya merupakan input, artinya kita dapat mengubahnya pada grafik nanti. Kami juga menyiapkan variabel harga, yang mengambil penutupan untuk setiap periode. Kemudian, kita memiliki beberapa logika dalam bentuk pernyataan if. Jika bagian dalam tanda kurung benar, maka blok berindentasi di bawahnya akan dijalankan. Jika tidak, maka akan dilewati.

Jadi, jika harganya kurang dari atau sama dengan entri yang kita inginkan, ekspresi pertama dianggap benar, dan kita akan membuka posisi buy. Setelah harga sama dengan atau melampaui pintu keluar yang diinginkan, blok kedua akan terpicu, menutup semua posisi terbuka.

Kita akan membubuhi keterangan pada grafik dengan panah yang menunjukkan di mana kita masuk/keluar, jadi kita telah menentukan apa yang harus diberi label pada titik-titik ini dengan parameter komentar (dalam contoh ini, “BuyTheDip” dan “SellTheNews”). Salin kodenya, dan tambahkan ke bagan.


indicator active on tradingview chart

Anda sekarang dapat melihat indikator pada grafik. Anda mungkin perlu memperkecil.


TradingView secara otomatis menerapkan aturan Anda pada data lama. Anda juga akan melihat bahwa ini beralih dari Editor Pine ke tab Penguji Strategi. Ini memungkinkan Anda melihat ikhtisar potensi keuntungan Anda, daftar perdagangan, dan kinerja masing-masing perdagangan.


Trading view strategy tester

Posisi yang kami masuki dan keluar.


Mengikatnya bersama-sama

Saatnya menulis naskah kita sendiri dengan menggunakan beberapa konsep yang telah kita lihat selama ini. Kita akan menggabungkan EMA dan RSI dan menggunakan nilainya untuk mewarnai kandil, menghasilkan wawasan yang dapat kita visualisasikan dengan mudah.

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

Sekarang mari kita kerjakan skrip baru kita. Hapus semua indikator Anda dari grafik, dan sembunyikan juga grafik Bitcoin/BUSD, sehingga kita memiliki kanvas yang bersih untuk dikerjakan.

Mari kita mulai dengan mendefinisikan penelitian kita. Jangan ragu untuk memberi 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 jadikan 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)


Besar. Ke 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, mari kita susun logika yang mewarnai kandil bergantung pada nilai EMA dan RSI. Mari kita ambil situasi di mana (a) harga penutupan candle melebihi 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 ini berarti inilah saat yang tepat untuk memasuki posisi buy. Atau sebaliknya, Anda mungkin menggunakannya untuk memberi tahu Anda kapan tidak melakukan short, meskipun indikator lain mengatakan sebaliknya.

Jadi, baris berikutnya 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.merah

Jika kita menerjemahkannya ke dalam bahasa Inggris yang sederhana, kita hanya mengatakan bahwa jika nilai EMA melebihi harga penutupan dan skor RSI melebihi 50, kita akan mewarnai candle dengan warna hijau. Jika tidak, kami akan mewarnainya dengan merah.

Selanjutnya, plot EMA:

belajar(judul="Skrip Binance Academy", overlay=true)
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.


Tradingview script in action

Grafik BTC/BUSD dengan indikator EMA/RSI.


Dalam artikel ini, kami telah membahas beberapa contoh dasar tentang apa yang dapat Anda lakukan dengan Editor Pine TradingView. Saat ini, Anda harus percaya diri dalam membuat anotasi sederhana pada grafik harga untuk mendapatkan wawasan tambahan dari indikator Anda sendiri.

Kami hanya tertarik pada beberapa indikator di sini, namun mudah untuk membuat indikator yang lebih kompleks – baik dengan memilih skrip bawaan dari Baru atau dengan menulisnya sendiri.

Kurang inspirasi? Artikel berikut mungkin memberi Anda beberapa ide untuk proyek Anda berikutnya:

  • Panduan Singkat Indikator Parabolic SAR

  • Panduan Menguasai Fibonacci Retracement

  • Penjelasan Indikator Leading dan Lagging

  • Penjelasan Indikator MACD