Strategi ini melaksanakan strategi perdagangan frekuensi tinggi berdasarkan penunjuk Bollinger Bands. Ia menentukan jalur Bollinger atas dan bawah dengan mengira penyimpangan standard dan purata bergerak harga. Apabila harga menyentuh jalur tengah, perdagangan panjang atau pendek dilaksanakan. Setiap perdagangan melabur semua modal dengan julat keuntungan 0.5%. Strategi ini sesuai untuk pasangan perdagangan yang sangat tidak menentu dan pertukaran tanpa bayaran.
Strategi ini menggunakan penunjuk Bollinger Bands untuk menentukan sama ada harga telah mencapai tahap overbought atau oversold. Band terdiri daripada band atas, band bawah dan band tengah. Band tengah adalah purata bergerak harga n hari yang mudah. Band atas adalah band tengah ditambah k kali deviasi standard harga n hari. Band bawah adalah band tengah dikurangkan k kali deviasi standard. k biasanya ditetapkan menjadi 2. Apabila harga mendekati band atas, ia menunjukkan overbouying. Apabila harga mendekati band bawah, ia menunjukkan overselling.
Strategi ini menetapkan tempoh Bollinger kepada 20 hari dan k kepada 2. Apabila harga menyentuh jalur tengah, ia memberi isyarat harga yang berbalik dari kawasan melampau, menghasilkan isyarat perdagangan. Isyarat panjang dicetuskan apabila harga melintasi di atas jalur tengah. Isyarat pendek dicetuskan apabila harga jatuh di bawah jalur tengah.
Apabila memasuki kedudukan, semua modal dilaburkan (termasuk ekuiti dan keuntungan / kerugian terapung). Julat keuntungan 0.5% kemudian ditetapkan. Apabila harga bergerak melebihi 0.5%, kedudukan ditutup untuk keuntungan.
Kelebihan strategi ini ialah:
Menggunakan Bollinger Bands untuk mengenal pasti isyarat perdagangan lebih berkesan untuk mengesan ekstrem daripada purata bergerak yang mudah.
Pendekatan frekuensi tinggi dengan cepat mencapai keuntungan dalam kitaran perdagangan pendek.
Menginvestasikan semua modal memaksimumkan potensi keuntungan.
Menetapkan julat keuntungan mengambil berkesan menguruskan risiko dan kunci dalam keuntungan.
Terdapat juga beberapa risiko:
Bollinger Bands sensitif kepada parameter input. tetapan yang salah boleh menghasilkan isyarat palsu.
Perdagangan frekuensi tinggi memerlukan pertukaran sifar, jika tidak, yuran mengikis keuntungan.
Menginvestasikan semua modal adalah berisiko. peristiwa Black Swan boleh mencetuskan kerugian besar.
Julat keuntungan yang ketat meningkatkan kekerapan perdagangan dan kerumitan operasi.
Penyelesaian:
Mengoptimumkan parameter Bollinger untuk mencari tetapan yang ideal.
Gunakan bursa tanpa bayaran seperti Binance Spot.
Tetapkan stop loss untuk menghadkan kerugian maksimum.
Memperluas julat keuntungan untuk mengurangkan kekerapan perdagangan.
Strategi ini boleh ditingkatkan dengan:
Menambah penunjuk jumlah seperti pada jumlah baki untuk menapis palsu.
Mengoptimumkan parameter Bollinger untuk mencari kombinasi terbaik.
Menggunakan julat stop loss dan mengambil keuntungan adaptif. Sebagai contoh, julat yang meluas apabila perdagangan atau kemenangan terkumpul.
Menggabungkan model pembelajaran mesin untuk meramalkan isyarat beli / jual.
Mengelakkan perdagangan di sekitar peristiwa utama seperti laporan pendapatan berdasarkan asas.
Ini adalah strategi frekuensi tinggi menggunakan Bollinger Bands untuk penjanaan isyarat, ukuran kedudukan penuh dan mengambil keuntungan kecil. Ia mempunyai kelebihan dalam keuntungan tetapi juga kelemahan seperti kepekaan parameter dan kawalan risiko. Penambahbaikan lanjut boleh datang dari meningkatkan penunjuk, hentian adaptif, pembelajaran mesin dan banyak lagi untuk menjadikan strategi lebih mantap.
/*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))