Strategi Pengikut Tren Breakout Bollinger Bands
Ikhtisar
Strategi ini adalah strategi mengikuti tren (trend following) yang didasarkan pada indikator Bollinger Bands. Strategi ini menggunakan penembusan pita atas dan bawah Bollinger Bands untuk menentukan arah tren, dan membuka posisi sesuai arah tersebut. Ketika harga mulai berbalik, maka digunakan trailing stop loss dengan jarak dinamis untuk keluar dari posisi guna mengamankan profit.
Prinsip Strategi
Strategi ini menggunakan indikator Bollinger Bands untuk menentukan arah tren. Bollinger Bands membangun pita atas dan bawah dengan menghitung standar deviasi harga. Ketika harga menembus pita atas, dianggap tren mulai naik; ketika harga menembus pita bawah, dianggap tren mulai turun.
Logika perdagangan spesifiknya adalah:
-
Hitung pita tengah, pita atas, dan pita bawah Bollinger Bands.
-
Ketika harga menembus pita atas, buka posisi long; ketika harga menembus pita bawah, buka posisi short.
-
Gunakan trailing stop loss untuk mengendalikan risiko; keluar dari posisi saat harga mulai berbalik.
-
Ketika harga kembali menembus pita Bollinger Bands, masuk kembali ke tren.
Menggunakan Bollinger Bands untuk menentukan arah tren, dikombinasikan dengan trailing stop loss dinamis, dapat mengendalikan risiko secara efektif.
Analisis Keunggulan
Strategi ini memiliki keunggulan sebagai berikut:
-
Menggunakan indikator Bollinger Bands untuk menentukan tren, sederhana dan efektif.
-
Kombinasi entry saat penembusan (breakout entry) dan trailing stop loss dinamis, menyeimbangkan penangkapan tren dan pengendalian risiko.
-
Struktur kode yang jelas dan sederhana, mudah dipahami dan dimodifikasi.
-
Parameter yang sedikit, memudahkan optimasi.
-
Cocok untuk berbagai instrumen, fleksibilitas tinggi.
-
Hasil backtest baik, potensi profit besar.
Analisis Risiko
Risiko utama strategi ini meliputi:
-
Bollinger Bands hanya berdasarkan sifat statistik, memiliki risiko overfitting kurva.
-
Tidak dapat membedakan ekspansi kisaran (range expansion) dengan tren sejati, dapat menyebabkan kesalahan sinyal.
-
Titik stop loss yang terlalu rapat, dapat terhenti oleh fluktuasi harga normal.
-
Tidak mempertimbangkan dampak biaya transaksi.
-
Rentang waktu backtest terbatas, mungkin terjadi overfitting.
Solusi yang sesuai:
-
Optimalkan parameter atau perkenalkan indikator lain untuk memvalidasi sinyal.
-
Tambahkan identifikasi terhadap sideway (konsolidasi) dan channel.
-
Sesuaikan titik stop loss secara dinamis berdasarkan indikator seperti ATR.
-
Sertakan perhitungan komisi dan slippage.
-
Perpanjang rentang waktu backtest, validasi di berbagai pasar.
Arah Optimasi
Strategi ini dapat dioptimalkan dari aspek berikut:
-
Menguji efek kombinasi berbagai indikator.
-
Menambahkan identifikasi terhadap sideway (konsolidasi) tren.
-
Memperkenalkan metode machine learning untuk mengoptimalkan parameter secara dinamis.
-
Optimalkan strategi stop loss berdasarkan hasil backtest.
-
Evaluasi dan sertakan dampak biaya transaksi.
-
Lakukan optimasi ruang parameter untuk menemukan setelan parameter optimal.
-
Tambahkan manajemen modal (money management) untuk mengendalikan risiko posisi.
Kesimpulan
Strategi ini menggunakan indikator Bollinger Bands untuk menentukan arah tren dan dilengkapi trailing stop loss untuk mengendalikan risiko. Logika perdagangan secara keseluruhan sederhana dan jelas. Strategi ini memiliki efek penangkapan tren yang baik, namun dapat ditingkatkan dengan memperkenalkan lebih banyak indikator teknis, mengoptimalkan parameter, dan menambahkan perhitungan biaya agar strategi menjadi lebih kokoh dan andal. Secara keseluruhan, strategi ini menyediakan ide perdagangan mengikuti tren yang sederhana dan praktis berbasis Bollinger Bands.
/*backtest
start: 2022-09-15 00:00:00
end: 2023-09-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title="Bollinger Band Breakout", shorttitle = "BB Strategy",initial_capital=1000, default_qty_type = strategy.percent_of_equity, default_qty_value = 10, commission_type = strategy.commission.percent, commission_value = 0.3, max_bars_back = 1000, overlay=true)
// Inputs //- 1
