Perkenalan

Tanpa alat trading yang tepat, analisis teknis yang efektif tidak mungkin dilakukan. 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 pembuatan grafik terbaik. Aplikasi web HTML5 yang canggih ini menawarkan banyak alat analisis teknis dan digunakan oleh jutaan pengguna untuk melacak pergerakan di pasar saham, Forex, dan mata uang kripto.

TradingView memiliki banyak fitur canggih: memungkinkan kita melacak aset di berbagai platform perdagangan dan berbagi ide perdagangan di media sosial. Pada artikel ini, kami akan membahas tentang opsi penyesuaian Anda. Kita akan menggunakan PineScript, bahasa pemrograman TradingView, yang memberi kita kendali atas tata letak grafik kita.

Mari kita mulai!


Apa itu Aksara Pinus?

Pine Script adalah bahasa skrip yang digunakan untuk menyesuaikan grafik TradingView. Platform sudah menyediakan banyak fitur untuk ini, tetapi Pine Script menawarkan beberapa opsi tambahan. Baik Anda ingin mengubah warna kandil atau menguji ulang strategi baru, Pine Editor memungkinkan Anda menyesuaikan grafik secara real-time sesuai keinginan Anda.

Kode ini memiliki dokumentasi yang sangat solid, jadi pastikan untuk membaca panduan pengguna untuk informasi lebih lanjut. Tujuan kami dalam tutorial ini adalah untuk membahas beberapa dasar dan menyajikan indikator yang berguna untuk perdagangan mata uang kripto.


Konfigurasi

Sangat mudah untuk mulai menggunakan Pine Script. Semua kode berjalan di server TradingView, sehingga kami dapat mengakses editor dan mengembangkan skrip kami dari browser – tidak diperlukan pengunduhan atau konfigurasi tambahan.

Dalam tutorial ini, kita akan menggunakan pasangan mata uang Bitcoin/Binance USD (BTCBUSD). Jika Anda belum memiliki akun, buatlah akun secara gratis (ada juga opsi berlangganan Pro, tetapi ini tidak diperlukan untuk tutorial ini). 

Buka link ini dan Anda akan melihat grafik seperti ini:


Gráfico BTCBUSD no TradingView

Milik Anda mungkin akan lebih mutakhir.


Di sini kita akan menggunakan mode grafik berfitur lengkap – klik tombol untuk mengaksesnya. Dalam mode ini, kami memiliki tampilan yang lebih detail, alat menggambar, opsi untuk menggambar garis tren, dan fungsi lainnya.


Gráfico completo no TradingView para BTCBUSD

Grafik lengkap. Anda dapat menyesuaikan jangka waktu dengan mengeklik opsi di atas tab yang disorot pada gambar.


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


Editor Pinus


captura de tela do Pine Editor


Editor inilah tempat keajaiban terjadi. Mari masukkan instruksinya. Klik Tambahkan ke Bagan untuk menampilkan anotasi di atas. Perhatikan bahwa segalanya bisa menjadi rumit jika kita menyertakan beberapa anotasi sekaligus, jadi kita akan menghapusnya untuk contoh berikutnya (klik kanan pada grafik > Hapus Indikator).

Seperti yang bisa kita lihat, kita sudah memiliki beberapa baris kode. Mari klik Add To Chart dan lihat apa yang terjadi.


Adicionando o primeiro script ao gráfico do TradingView


Grafik kedua akan ditambahkan di bawah aslinya. Bagan baru sekarang menampilkan data yang sama. Arahkan kursor ke Skrip Saya dan klik tanda silang untuk menghapusnya. Sekarang, mari selami kodenya lebih dalam.

study("Naskah Saya")

Baris pertama ini hanya menyiapkan anotasi kita. Kita hanya perlu menentukan nama untuk indikator ("My Script" dalam kasus ini), namun ada juga beberapa parameter opsional yang dapat kita tambahkan. Salah satunya adalah overlay, yang menginstruksikan TradingView untuk memasukkan indikator ke dalam grafik yang ada (daripada menggunakan segmen baru). Seperti yang bisa kita lihat pada contoh pertama, defaultnya adalah false. Parameter overlay = true menambahkan indikator ke grafik yang ada, tapi kami tidak akan menggunakannya sekarang.

plot(tutup)

Baris ini merupakan instruksi untuk merencanakan harga penutupan Bitcoin. Parameter plot hanya memberi kita grafik garis, tetapi juga memungkinkan untuk menampilkan candle dan bar, seperti yang akan kita lihat segera. 

Sekarang, mari kita coba yang berikut ini:

//@version=4 study("Skrip Saya", overlay=true) plot(open, color=color.purple)

Setelah menambahkan parameter ini, kita akan melihat grafik kedua (yang terlihat seperti aslinya, tetapi bergeser ke kanan). Yang kami lakukan hanyalah merencanakan harga terbuka. Karena pembukaan hari ini adalah penutupan hari sebelumnya, masuk akal jika formatnya sama.

OKE! Mari kita hilangkan catatan saat ini (ingat, kita melakukan ini dengan mengklik kanan dan memilih Hapus Indikator). Arahkan kursor ke Bitcoin/BUSD dan klik Sembunyikan untuk menghapus grafik saat ini juga.

Banyak trader lebih menyukai grafik candlestick karena memberikan lebih banyak informasi kepada kita dibandingkan grafik sederhana seperti yang baru saja kita buat. Kami akan menambahkannya selanjutnya. 

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

Ini awal yang baik, ada baiknya menambahkan beberapa warna. Umumnya, kita menggunakan candle merah jika harga pembukaan lebih tinggi dari harga penutupan pada periode tertentu, dan candle hijau jika harga penutupan lebih tinggi dari harga pembukaan. Mari tambahkan baris di bawah fungsi plotcandle():

//@version=4 study("Skrip Saya", overlay=true) warna = buka >= tutup ? warna.merah : warna.hijau plotcandle(buka, tinggi, rendah, tutup)

Fungsi ini menganalisis setiap candle dan memeriksa apakah nilai pembukaan lebih besar atau sama dengan nilai penutupan. Jika ya, berarti harga telah turun selama periode tersebut, sehingga candle akan berubah menjadi merah. Jika tidak, warnanya akan menjadi hijau. Ubah fungsi plotcandle() untuk menyetel skema warna ini menjadi:

//@version=4 study("Skrip Saya", overlay=true) warna = buka >= tutup ? warna.merah : warna.hijau plotcandle(buka, 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 mirip dengan grafik candlestick biasa.


Gráfico de velas no TradingView

Bagus sekali!


Merencanakan Rata-Rata Pergerakan (MM)

Kami membahas beberapa hal mendasar. Mari kita gambarkan 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 simple moving average (SMA) karena EMA lebih menekankan pada data terkini. Ini cenderung lebih reaktif terhadap pergerakan tiba-tiba dan sering digunakan untuk strategi jangka pendek (seperti day trading, misalnya).


Rata-Rata Pergerakan Sederhana (SMA)

Mari kita plot juga simple moving average (SMA), sehingga nanti kita bisa membandingkan keduanya. Tambahkan baris ini ke skrip Anda:

plot(sma(tutup, 10))

Nilai ini mewakili rata-rata sepuluh hari terakhir. Sesuaikan angka dalam tanda kurung untuk melihat perubahan kurva ketika mempertimbangkan periode yang berbeda.


Média móvel simples com base nos 10 dias anteriores

MMS, berdasarkan sepuluh hari terakhir.


Rata-Rata Pergerakan Eksponensial (EMA)

MME sedikit lebih rumit, tapi jangan khawatir. Mari kita lihat rumusnya terlebih dahulu:

EMA = (Penutupan - EMA Hari Sebelumnya) * Dikalikan - EMA Hari Sebelumnya

Apa artinya ini? Untuk setiap hari, kami menghitung rata-rata pergerakan baru berdasarkan rata-rata pergerakan hari sebelumnya. Pengganda memperhitungkan “bobot” periode terkini dan menghitungnya menggunakan rumus:

Pengganda = 2 / (Periode EMA + 1)

Seperti halnya simple moving average, kita perlu menentukan durasi EMA. Secara sintaksis, fungsi untuk memplot EMA mirip dengan MMS. Letakkan di sebelah MMS sehingga Anda dapat membandingkan keduanya:

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


MME e MMS em um gráfico do TradingView

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


➠ Ingin berinvestasi pada mata uang kripto? Beli Bitcoin di Binance!


Skrip bawaan

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

Di kanan atas editor Anda, klik Baru. Anda akan melihat menu drop-down dengan semua jenis indikator teknis. Klik Moving Average Exponential untuk melihat kode sumber indikator EMA.



Média móvel exponencial em script do Pine Editor

Tambahkan ini ke grafik.


Yang ini berbeda dari kita – di sini kita melihat fungsi input(). Mereka bagus dalam hal kegunaan, karena kita dapat mengklik kotak ini…


Modificando um gráfico na interface do TradingView


...dan dengan mudah mengubah beberapa nilai di jendela baru dengan mengklik Pengaturan.


alterando inputs da MME


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


Indikator Plotting atau Relative Strength Index (RSI).

 Indeks Kekuatan Relatif (RSI) adalah indikator analisis teknis penting lainnya. Ini dikenal sebagai indikator momentum, yaitu mengukur tingkat pembelian dan penjualan aset. Skor RSI disajikan dalam skala 0 hingga 100 dan berupaya memberi informasi kepada investor apakah aset mengalami overbought atau oversold. Biasanya, suatu aset dianggap jenuh jual jika memiliki skor kurang dari atau sama dengan 30 dan jenuh beli dengan skor lebih besar atau sama dengan 70.

Anda dapat membuka New > RSI Strategy dan melihatnya sendiri. Umumnya, RSI diukur dalam periode 14 jam atau 14 hari, namun Anda dapat menyesuaikan pengaturan ini agar sesuai dengan strategi Anda.

Tambahkan ini ke grafik. Sekarang, Anda akan melihat beberapa panah (ditentukan oleh fungsi strategy.entry() dalam kode). RsiLE menunjukkan potensi peluang posisi buy untuk aset tersebut, yang mungkin oversold. RsiSE menyoroti kemungkinan poin untuk posisi short pada aset, ketika sudah jenuh beli. Harap dicatat bahwa, seperti halnya semua indikator, Anda tidak boleh mengandalkan indikator tersebut sebagai bukti mutlak bahwa harga akan turun/naik.


pengujian ulang

Ada cara untuk menguji indikator khusus. Meskipun riwayat suatu aset tidak menjamin hasil di masa depan, pengujian ulang skrip kami dapat memberi kami gambaran tentang efektivitasnya dalam menangkap sinyal. 

Selanjutnya kita akan menggunakan contoh script sederhana. Mari kita buat strategi yang memasuki posisi buy 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.

//@version=4 strategi("ToDaMoon", overlay=true) enter = input(11000) exit = input(11300) harga = tutup jika (harga <= enter) strategi.entry("BeliSaatPenurunan", strategi.long, komentar="BeliSaatPenurunan") jika (harga >= exit) strategi.close_all(komentar="JualBerita")

Di sini, kami mendefinisikan entri dan keluar sebagai variabel – keduanya merupakan input, yang berarti Anda dapat mengubahnya di grafik nanti. Kami juga mengonfigurasi variabel harga, harga, yang mempertimbangkan penutupan setiap periode. Kemudian kita menggunakan logika dalam bentuk fungsi if. Jika bagian dalam tanda kurung siku benar, maka blok di bawahnya akan dieksekusi. Jika tidak, pemblokiran akan diabaikan.

Oleh karena itu, jika harga kurang dari atau sama dengan entri yang diinginkan, ekspresi pertama akan bernilai benar dan kita akan membuka posisi buy. Segera setelah harga sama atau lebih besar dari pintu keluar yang diinginkan, blok kedua akan terpicu, menutup semua posisi terbuka. 

Kita akan menggunakan grafik dengan panah yang menunjukkan di mana kita masuk/keluar; Oleh karena itu, kami menentukan cara memberi label pada titik-titik ini dengan parameter komentar, komentar (dalam contoh ini, “BuyTheDip” dan “SellTheNews”). Salin kodenya dan tambahkan ke bagan.


indicador ativo no gráfico do TradingView

Sekarang kita bisa melihat indikatornya pada grafik. Anda mungkin perlu memperkecil.


TradingView secara otomatis menerapkan aturannya pada data lama. Anda juga akan melihat bahwa ia beralih dari Editor Pine ke tab Penguji Strategi. Hal ini memungkinkan Anda untuk mendapatkan gambaran umum tentang kemungkinan keuntungan Anda, daftar perdagangan dan masing-masing kinerjanya.


Strategy Tester do TradingView

Posisi masuk dan keluar.


Mengaitkan informasi

Saatnya untuk menulis naskah kita sendiri menggunakan beberapa konsep yang telah kita lihat sejauh ini. Mari kita gabungkan EMA dan RSI dan gunakan nilainya untuk mewarnai grafik candlestick, menghasilkan informasi yang dapat kita visualisasikan dengan mudah. 

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

Sekarang mari kita mengerjakan skrip baru kita. Hapus semua indikator Anda dari grafik dan sembunyikan grafik Bitcoin/BUSD sehingga kami dapat bekerja di kanvas yang bersih.

Mari kita mulai dengan mendefinisikan penelitian kita. Silakan beri nama apa pun yang Anda inginkan, tetapi ingatlah untuk mengatur parameter overlay=true.

study(title="Skrip Akademi Binance", overlay=true)

Ingat rumus EMA kami sebelumnya. Kita harus memberikan pengganda dengan periode EMA. Mari kita gunakan input yang membutuhkan bilangan bulat (jadi tidak ada tempat desimal). Kami juga akan menentukan nilai minimum (minval) dan nilai default (defval).

study(title="Skrip Binance Academy", overlay=true) 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:

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


Bagus sekali. Sekarang RSI. Kami akan mendefinisikan suatu periode dengan cara yang sama:

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

Dan kemudian kita dapat menghitungnya:

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

Pada tahap ini, kita akan menyusun logika yang mewarnai grafik candlestick sesuai dengan nilai EMA dan RSI. Mari kita pertimbangkan situasi di mana (a) harga penutupan candle melebihi EMA dan (b) RSI lebih besar dari 50.

Mengapa? Nah, Anda bisa memutuskan untuk menggunakan indikator-indikator ini bersama-sama untuk mendapatkan sinyal panjang atau pendek untuk perdagangan Bitcoin. Misalnya, Anda mungkin berpikir bahwa memenuhi kedua kondisi tersebut berarti inilah saat yang tepat untuk memasuki posisi buy. Atau, di sisi lain, Anda dapat menggunakannya untuk memberi informasi kepada diri Anda sendiri tentang kapan posisi tidak boleh short, meskipun indikator lain memberi sinyal sebaliknya.

Jadi baris kita selanjutnya akan terlihat seperti ini:

study(title="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, rsiLength) colors = tutup > emaVal dan rsiVal > 50 ? color.green : color.red

Dengan menggunakan bahasa sederhana, kode tersebut hanya mengatakan bahwa jika nilai EMA melampaui harga penutupan dan skor RSI lebih besar dari 50, warna candle akan menjadi hijau. Kalau tidak, warnanya akan merah. 

Selanjutnya, mari kita plot EMA:

study(title="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, rsiLength) colors = tutup > emaVal dan rsiVal > 50 ? color.green : color.red plot(emaVal, "EMA")

Terakhir, plot lilinnya, pastikan untuk menyertakan parameter warna, warna:

study(title="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, rsiLength) colors = tutup > emaVal dan rsiVal > 50 ? color.green : color.red plot(emaVal, "EMA") plotcandle(buka, tinggi, rendah, tutup, color=colors)

Dan itulah naskahnya! Tambahkan ke bagan untuk melihatnya berfungsi.


Script em funcionamento no TradingView

Grafik BTC/BUSD dengan indikator EMA/RSI.


Pertimbangan terakhir

Pada artikel ini, kita melihat beberapa contoh dasar tentang apa yang dapat Anda lakukan dengan Pine Editor TradingView. Sekarang, Anda seharusnya dapat menyesuaikan grafik harga untuk mendapatkan wawasan tambahan menggunakan indikator Anda sendiri.

Kami hanya membahas beberapa indikator di sini, namun idenya sama untuk indikator yang lebih kompleks – Anda dapat memilih skrip yang ada di New atau menulisnya sendiri.

Tidak terinspirasi? Artikel berikut mungkin memberikan beberapa ide untuk proyek Anda berikutnya:

  • Panduan singkat tentang Indikator Parabolic SAR

  • Panduan Retracement Fibonacci

  • Indikator Leading dan Lagging

  • Cara Kerja Indikator MACD