Strategi ini mengimplementasikan strategi perdagangan frekuensi tinggi berdasarkan indikator Bollinger Bands. Ini menentukan band Bollinger atas dan bawah dengan menghitung standar deviasi dan moving average harga. Ketika harga menyentuh band tengah, perdagangan panjang atau pendek dilaksanakan. Setiap perdagangan menginvestasikan semua modal dengan rentang keuntungan 0,5%. Strategi ini cocok untuk pasangan perdagangan dan bursa yang sangat fluktuatif tanpa biaya.
Strategi ini menggunakan indikator Bollinger Bands untuk menentukan apakah harga telah mencapai tingkat overbought atau oversold. Band terdiri dari band atas, band bawah dan band tengah. Band tengah adalah rata-rata pergerakan harga n hari yang sederhana. Band atas adalah band tengah ditambah k kali deviasi standar harga n hari. Band bawah adalah band tengah dikurangi k kali deviasi standar. k biasanya ditetapkan menjadi 2. Ketika harga mendekati band atas, itu menunjukkan overbuy. Ketika harga mendekati band bawah, itu menunjukkan overselling.
Strategi ini menetapkan periode Bollinger menjadi 20 hari dan k menjadi 2. Ketika harga menyentuh band tengah, sinyal harga kembali dari daerah ekstrem, menghasilkan sinyal perdagangan. Sinyal panjang dipicu ketika harga melintasi band tengah. Sinyal pendek dipicu ketika harga turun di bawah band tengah.
Ketika masuk ke posisi, semua modal diinvestasikan (termasuk ekuitas dan laba / kerugian yang mengambang). rentang take profit 0,5% kemudian ditetapkan. Ketika harga bergerak di atas 0,5%, posisi ditutup untuk keuntungan.
Keuntungan dari strategi ini adalah:
Menggunakan Bollinger Bands untuk mengidentifikasi sinyal perdagangan lebih efektif dalam mendeteksi ekstrem daripada rata-rata bergerak sederhana.
Pendekatan frekuensi tinggi dengan cepat mencapai keuntungan dalam siklus perdagangan pendek.
Menginvestasikan semua modal memaksimalkan potensi keuntungan.
Menetapkan rentang mengambil keuntungan secara efektif mengelola risiko dan kunci dalam keuntungan.
Ada juga beberapa risiko:
Bollinger Bands sensitif terhadap parameter input. pengaturan yang salah dapat menghasilkan sinyal palsu.
Perdagangan frekuensi tinggi membutuhkan pertukaran tanpa biaya, jika tidak, biaya mengikis keuntungan.
Menginvestasikan semua modal berisiko, peristiwa Black Swan bisa memicu kerugian besar.
Kisaran keuntungan yang ketat meningkatkan frekuensi perdagangan dan kompleksitas operasional.
Solusi:
Mengoptimalkan parameter Bollinger untuk menemukan pengaturan yang ideal.
Gunakan bursa bebas biaya seperti Binance Spot.
Atur stop loss untuk membatasi kerugian maksimum.
Memperluas rentang mengambil keuntungan untuk mengurangi frekuensi perdagangan.
Strategi ini dapat ditingkatkan dengan:
Menambahkan indikator volume seperti On Balance Volume untuk menyaring palsu.
Mengoptimalkan parameter Bollinger untuk menemukan kombinasi terbaik.
Menggunakan adaptif stop loss dan mengambil keuntungan rentang. misalnya, memperluas rentang sebagai perdagangan atau menang akumulasi.
Mengintegrasikan model pembelajaran mesin untuk memprediksi sinyal beli/jual.
Menghindari perdagangan di sekitar peristiwa besar seperti laporan laba berdasarkan fundamental.
Ini adalah strategi frekuensi tinggi menggunakan Bollinger Bands untuk generasi sinyal, ukuran posisi penuh dan mengambil keuntungan kecil. Ini memiliki keuntungan dalam profitabilitas tetapi juga kelemahan seperti sensitivitas parameter dan kontrol risiko. Perbaikan lebih lanjut dapat datang dari peningkatan indikator, adaptif berhenti, pembelajaran mesin dan banyak lagi untuk membuat strategi lebih kuat.
/*backtest start: 2022-12-14 00:00:00 end: 2023-12-20 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Estrategia Bollinger Bands", shorttitle="BB Strategy", overlay=true) // Parámetros de las Bandas de Bollinger length = input(20, title="Longitud") mult = input(2.0, title="Multiplicador") // Calcula las Bandas de Bollinger basis = ta.sma(close, length) upper_band = basis + mult * ta.stdev(close, length) lower_band = basis - mult * ta.stdev(close, length) // Condiciones para realizar operaciones price_touches_basis_up = ta.crossover(close, basis) price_touches_basis_down = ta.crossunder(close, basis) // Monto inicial de inversión monto_inicial = 10 // Lógica de la estrategia if (price_touches_basis_up) qty = strategy.equity + strategy.netprofit // Invertir el total del capital más las ganancias en cada operación direction = close > basis ? strategy.long : strategy.short strategy.entry("Operacion", direction, qty = 1) // Lógica para cerrar la operación con un movimiento del 0.5% (take profit) target_profit = 0.005 // Actualizado a 0.5% if (strategy.position_size != 0) direction = strategy.position_size > 0 ? strategy.long : strategy.short strategy.exit("Take Profit/Close", from_entry = "Operacion", profit = close * (1 + target_profit)) // Dibuja las Bandas de Bollinger en el gráfico plot(upper_band, color=color.blue, title="Upper Band") plot(lower_band, color=color.red, title="Lower Band") plot(basis, color=color.green, title="Basis") // Muestra el monto inicial de inversión en la barra del título var label lbl = label.new(na, na, "") label.set_text(lbl, "Monto Inicial: $" + str.tostring(monto_inicial, "#.########")) label.set_xy(lbl, bar_index, low) label.set_color(lbl, color.new(color.blue, 0))