Strategi sistem Dual Moving Average Bollinger Band adalah strategi perdagangan sentuhan khas. Ini memanfaatkan indikator volatilitas Bollinger Bands dan sentuhan garis ganda untuk membuka posisi, bersama dengan mekanisme stop profit dan stop loss untuk mengelola dana dan menghasilkan keuntungan.
Strategi ini terutama didasarkan pada indikator Bollinger Bands. Bollinger Bands terdiri dari garis rata-rata bergerak dan bandwidth. Strategi pertama menghitung rata-rata pergerakan harga penutupan selama n periode sebagai band tengah, dengan bandwidth m kali deviasi standar band tengah. Band atas dan band bawah kemudian digambarkan sebagai m deviasi standar di atas dan di bawah band tengah. Ketika harga menyentuh band atas, posisi pendek dibuka. Ketika harga menyentuh band bawah, posisi panjang dibuka.
Secara khusus, strategi ini menerapkan langkah-langkah berikut:
Parameter input: set panjang rata-rata bergerak n dan pengganda standar deviasi m
Menghitung band tengah: rata-rata bergerak sederhana dari harga penutupan periode n
Menghitung band atas: band tengah + m * n periode standar deviasi harga penutupan
Menghitung band bawah: band tengah - m * n periode standar deviasi harga penutupan
Merangkai jalur tengah, atas dan bawah
Ketika harga penutupan melintasi di atas band tengah, pergi panjang
Ketika harga penutupan melintasi di bawah band tengah, pergi pendek
Tentukan titik stop profit dan stop loss untuk posisi keluar
Memasuki posisi pada sentuhan dua baris bersama dengan mekanisme stop profit dan stop loss dapat secara efektif mengendalikan risiko dan menghasilkan keuntungan yang stabil.
Keuntungan dari strategi ini meliputi:
Aturan sederhana dan jelas, mudah diterapkan.
Berdasarkan indikator Bollinger Bands dengan alasan ilmiah.
Dual-line touch menyaring kebocoran palsu di berbagai pasar.
Mengandung stop profit dan stop loss, manajemen risiko.
Data backtesting yang cukup memastikan keandalan.
Ruang penyesuaian parameter yang besar untuk optimasi.
Ada beberapa risiko yang harus dipertimbangkan:
Bollinger Bands sensitif terhadap parameter yang dapat menyebabkan hasil yang bervariasi.
Masuk dua baris mungkin kehilangan peluang perdagangan karena frekuensi rendah.
Pengaturan stop profit dan stop loss yang tidak tepat dapat menyebabkan stop loss prematur atau keuntungan yang tidak cukup.
Kerugian besar dapat terjadi ketika tren pasar berubah.
Kerangka waktu backtesting yang lebih pendek dapat menyebabkan risiko overfit.
Solusi yang mungkin:
Optimalkan parameter untuk menemukan kombinasi terbaik.
Band sempit untuk meningkatkan frekuensi.
Sesuaikan stop berdasarkan pasar yang berbeda.
Tambahkan filter tren untuk menghindari perdagangan kontra-tren.
Memperluas jangka waktu backtest untuk memastikan ketahanan.
Beberapa cara untuk meningkatkan strategi:
Mengoptimalkan parameter untuk entri yang lebih baik.
Tambahkan deteksi tren. Filter tren mencegah perdagangan melawan tren.
Mengoptimalkan keluar. Dinamis atau trailing berhenti dapat meningkatkan manajemen keuntungan.
Tambahkan filter dengan indikator lain. MACD, KDJ dll dapat membantu menyaring breakout palsu.
Menggabungkan model pembelajaran mesin seperti LSTM untuk lebih mengoptimalkan.
Gabungkan dengan strategi dasar atau lanjutan lainnya untuk manajemen portofolio.
Sistem Bollinger Band Dual Moving Average menunjukkan hasil positif secara keseluruhan, dengan keuntungan seperti indikator ilmiah, aturan yang jelas, dan parameter yang fleksibel. peningkatan lebih lanjut pada parameter, exit, dan filter tren dapat meningkatkan stabilitas.
/*backtest start: 2023-09-17 00:00:00 end: 2023-10-17 00:00:00 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("BB돌파", overlay=true) length = input.int(20, minval=1) src = input(close, title="Source") mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev") basis = ta.sma(src, length) dev = mult * ta.stdev(src, length) upper = basis + dev lower = basis - dev offset = input.int(0, "Offset", minval = -500, maxval = 500) plot(basis, "Basis", color=#FF6D00, offset = offset) p1 = plot(upper, "Upper", color=#2962FF, offset = offset) p2 = plot(lower, "Lower", color=#2962FF, offset = offset) fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95)) long = ta.crossover(close,basis) short = ta.crossunder(close,basis) strategy.entry("long", strategy.long, when =long) strategy.entry("short", strategy.short, when =short)