Strategi Perdagangan Regresi Bollinger Band Multi-Level

BB SMA stdev TP SL
Tanggal Pembuatan: 2025-02-21 13:06:24 Akhirnya memodifikasi: 2025-02-21 13:06:24
menyalin: 1 Jumlah klik: 463
2
fokus pada
319
Pengikut

Strategi Perdagangan Regresi Bollinger Band Multi-Level Strategi Perdagangan Regresi Bollinger Band Multi-Level

Ringkasan

Ini adalah strategi perdagangan yang didasarkan pada Bollinger Bands Average Return Principle, yang menghasilkan keuntungan berturut-turut melalui beberapa level stop loss. Strategi ini melakukan perdagangan ketika harga kembali setelah penembusan Bollinger Bands, dan menyiapkan 5 tingkat stop loss yang berbeda untuk mengurangi posisi secara bertahap.

Prinsip Strategi

Strategi ini didasarkan pada indikator Bollinger Bands dengan 20 siklus, menggunakan 2 kali standar deviasi sebagai area fluktuasi. Ketika harga dari bawah menembus tren bawah dan ditutup di dalam zona, memicu sinyal multi; Ketika harga dari atas menembus tren atas dan ditutup di dalam zona, memicu sinyal kosong. Setelah masuk, strategi ini menggunakan mekanisme stop-loss 5-tahap, yang mengatur stop-loss pada posisi 0,5%, 1%, 1%, 2% dan 2,5%, masing-masing stop-loss, setiap stop-loss melonggarkan 20% dari posisi.

Keunggulan Strategis

  1. Menggunakan mekanisme multi-level stop-loss untuk mendapatkan lebih banyak keuntungan jika tren berlanjut, sambil memastikan sebagian dari keuntungan terwujud
  2. Dukungan untuk meningkatkan profitabilitas dengan melakukan penargetan pada arah yang benar
  3. Menggunakan Blink Band sebagai Resistance Point yang mendukung pergerakan pasar secara dinamis
  4. Waktu perdagangan dapat disesuaikan untuk menghindari gangguan saat tidak berdagang
  5. Sistem Stop Loss yang efektif untuk mengendalikan risiko

Risiko Strategis

  1. Mungkin sering memicu sinyal palsu dalam pasar yang bergejolak
  2. “Kemungkinan besar, kita akan kehilangan peluang untuk mendapatkan keuntungan lebih besar dari tren yang cepat”.
  3. “Mengingatkan kepada para investor bahwa mereka tidak akan pernah memiliki kesempatan untuk membeli saham di pasar”, kata dia.
  4. Beberapa stop-loss order mungkin tidak dapat dilaksanakan sepenuhnya karena kurangnya likuiditas Disarankan untuk beradaptasi dengan kondisi pasar yang berbeda dengan menyesuaikan parameter Brinks dan stop loss ratio.

Arah optimasi strategi

  1. Pengenalan indikator lalu lintas sebagai kondisi penyaringan sinyal untuk meningkatkan keandalan penembusan
  2. Mengatur posisi stop loss sesuai dengan fluktuasi
  3. Meningkatkan indikator penyaringan tren untuk menghindari perdagangan berlawanan arah dalam tren kuat
  4. Mengoptimalkan logika penambahan posisi, mengatur batas maksimum posisi
  5. Pertimbangkan untuk menambahkan fitur Stop Loss Mobile untuk melindungi keuntungan Anda lebih baik

Meringkaskan

Strategi ini menangkap peluang mean reversion melalui indikator Brin Belt dan mengelola risiko dengan stop loss dan stop loss dinamis multi-level. Keunggulan strategi ini adalah manajemen posisi yang fleksibel dan mekanisme pengendalian risiko, tetapi perlu memperhatikan kesesuaian dengan lingkungan pasar saat digunakan. Dengan menambahkan indikator penyaringan tambahan dan mengoptimalkan parameter stop loss, stabilitas dan profitabilitas strategi dapat ditingkatkan lebih lanjut.

Kode Sumber Strategi
/*backtest
start: 2025-02-19 10:00:00
end: 2025-02-20 00:00:00
period: 5m
basePeriod: 5m
exchanges: [{"eid":"Binance","currency":"BNB_USDT"}]
*/

//@version=5
strategy("Bollinger Band Reentry Strategy", overlay=true)

// Inputs
bbLength = input.int(20, title="Bollinger Band Length")
bbMult = input.float(2.0, title="Bollinger Band Multiplier")
stopLossPerc = input.float(1.0, title="Stop Loss (%)") / 100
tp1Perc = input.float(0.5, title="Take Profit 1 (%)") / 100
tp2Perc = input.float(1.0, title="Take Profit 2 (%)") / 100
tp3Perc = input.float(1.5, title="Take Profit 3 (%)") / 100
tp4Perc = input.float(2.0, title="Take Profit 4 (%)") / 100
tp5Perc = input.float(2.5, title="Take Profit 5 (%)") / 100
allowAddToPosition = input.bool(true, title="Allow Adding to Position")
customSession = input.timeframe("0930-1600", title="Custom Trading Session")

// Calculate Bollinger Bands
basis = ta.sma(close, bbLength)
dev = ta.stdev(close, bbLength)
upperBB = basis + bbMult * dev
lowerBB = basis - bbMult * dev

// Plot Bollinger Bands
plot(upperBB, color=color.red, title="Upper Bollinger Band")
plot(lowerBB, color=color.green, title="Lower Bollinger Band")
plot(basis, color=color.blue, title="Bollinger Band Basis")

// Entry Conditions
longCondition = (ta.crossover(close, lowerBB) or (low < lowerBB and close > lowerBB)) and time(timeframe.period, customSession)
shortCondition = (ta.crossunder(close, upperBB) or (high > upperBB and close < upperBB)) and time(timeframe.period, customSession)

// Execute Trades
if (longCondition)
    strategy.entry("Long", strategy.long, when=allowAddToPosition or strategy.position_size == 0)
if (shortCondition)
    strategy.entry("Short", strategy.short, when=allowAddToPosition or strategy.position_size == 0)

// Take-Profit and Stop-Loss Levels for Long Trades
if (strategy.position_size > 0)
    strategy.exit("TP1", "Long", limit=strategy.position_avg_price * (1 + tp1Perc), qty=strategy.position_size * 0.2) // Take 20% profit
    strategy.exit("TP2", "Long", limit=strategy.position_avg_price * (1 + tp2Perc), qty=strategy.position_size * 0.2)
    strategy.exit("TP3", "Long", limit=strategy.position_avg_price * (1 + tp3Perc), qty=strategy.position_size * 0.2)
    strategy.exit("TP4", "Long", limit=strategy.position_avg_price * (1 + tp4Perc), qty=strategy.position_size * 0.2)
    strategy.exit("TP5", "Long", limit=upperBB, qty=strategy.position_size * 0.2) // Take final 20% at opposite band
    strategy.exit("Stop Loss", "Long", stop=strategy.position_avg_price * (1 - stopLossPerc))

// Take-Profit and Stop-Loss Levels for Short Trades
if (strategy.position_size < 0)
    strategy.exit("TP1", "Short", limit=strategy.position_avg_price * (1 - tp1Perc), qty=strategy.position_size * 0.2)
    strategy.exit("TP2", "Short", limit=strategy.position_avg_price * (1 - tp2Perc), qty=strategy.position_size * 0.2)
    strategy.exit("TP3", "Short", limit=strategy.position_avg_price * (1 - tp3Perc), qty=strategy.position_size * 0.2)
    strategy.exit("TP4", "Short", limit=strategy.position_avg_price * (1 - tp4Perc), qty=strategy.position_size * 0.2)
    strategy.exit("TP5", "Short", limit=lowerBB, qty=strategy.position_size * 0.2)
    strategy.exit("Stop Loss", "Short", stop=strategy.position_avg_price * (1 + stopLossPerc))

// Alerts
alertcondition(longCondition, title="Long Signal", message="Price closed inside Bollinger Band from below.")
alertcondition(shortCondition, title="Short Signal", message="Price closed inside Bollinger Band from above.")