Mengukuhkan Bollinger bermaksud strategi kuantitatif pengembalian

BB EMA ATR SMA stdev
Tarikh penciptaan: 2024-11-18 16:07:05 Akhirnya diubah suai: 2024-11-18 16:07:05
Salin: 7 Bilangan klik: 549
1
fokus pada
1617
Pengikut

Mengukuhkan Bollinger bermaksud strategi kuantitatif pengembalian

Gambaran keseluruhan

Strategi ini adalah sistem perdagangan regresi rata-rata yang berasaskan Bollinger Bands yang mengoptimumkan prestasi perdagangan dengan menggabungkan penapis trend dan hentian dinamik. Strategi ini menggunakan prinsip statistik untuk berdagang apabila harga menyimpang dari rata-rata, sambil meningkatkan peluang kemenangan dan menguruskan risiko melalui petunjuk teknikal.

Prinsip Strategi

Strategi ini adalah berasaskan kepada beberapa komponen utama:

  1. Menggunakan pita Bollinger 20 kitaran sebagai sumber isyarat utama, bandwidth adalah 2 kali perbezaan piawai
  2. Memperkenalkan EMA 50 kitaran sebagai penapis trend untuk memastikan arah perdagangan selaras dengan trend pertengahan
  3. Menggunakan 14 kitaran ATR untuk menetapkan sasaran stop-loss dan profit secara dinamik untuk meningkatkan nisbah risiko-keuntungan
  4. Berbuka apabila harga menyentuh rel bawah dan berada di atas EMA, terbuka apabila menyentuh rel atas dan berada di bawah EMA
  5. Menggunakan ATR dua kali ganda sebagai sasaran keuntungan dan ATR dua kali ganda sebagai titik henti

Kelebihan Strategik

  1. Kebolehpercayaan perdagangan yang lebih tinggi, digabungkan dengan pulangan nilai rata-rata dan trend
  2. Tetapan berhenti dan keuntungan yang dinamik, menyesuaikan diri dengan perubahan turun naik pasaran
  3. Peraturan masuk dan keluar yang jelas, mengurangkan penilaian subjektif
  4. Rasio risiko dan ganjaran 2:1 tetap, yang membantu untuk keuntungan yang stabil dalam jangka panjang
  5. Kumpulan Indeks Teknikal Mengurangkan Kesan Isyarat Palsu

Risiko Strategik

  1. Mungkin terlepas peluang besar di pasaran yang sedang bergerak
  2. Transaksi mungkin kerap berlaku apabila ruang menyusun berhadapan terlalu sempit
  3. Stop loss mungkin tergelincir apabila pasaran berubah
  4. Parameter perlu dipantau dan diselaraskan secara berterusan untuk menyesuaikan diri dengan perubahan pasaran
  5. Kos urus niaga boleh menjejaskan pulangan strategi

Arah pengoptimuman strategi

  1. Tambah penunjuk volum sebagai pengesahan tambahan
  2. Memperkenalkan penapis kadar turun naik pasaran untuk mengelakkan tempoh turun naik yang tinggi
  3. Mekanisme penyesuaian parameter pengoptimuman
  4. Menambah cross-verification bagi lebih banyak petunjuk teknikal
  5. Meningkatkan sistem pengurusan wang

ringkaskan

Ini adalah strategi yang menggabungkan analisis teknikal klasik dengan kaedah kuantitatif moden. Strategi ini mempunyai kepraktisan yang baik melalui pengesahan pelbagai petunjuk dan kawalan risiko yang ketat.

Kod sumber strategi
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-17 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Optimized Bollinger Mean Reversion", overlay=true)

// Bollinger Band Settings
length = input.int(20, title="BB Length")
src = input(close, title="Source")
mult = input.float(2.0, title="BB Multiplier")

// Bollinger Bands Calculation
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev

// Plot the Bollinger Bands
plot(basis, color=color.blue)
p1 = plot(upper, color=color.red)
p2 = plot(lower, color=color.red)
fill(p1, p2, color=color.rgb(41, 98, 255, 90))

// Trend Filter - 50 EMA
ema_filter = ta.ema(close, 50)

// ATR for Dynamic Stop Loss/Take Profit
atr_value = ta.atr(14)

// Buy condition - price touches lower band and above 50 EMA
buy_condition = ta.crossover(close, lower) and close > ema_filter

// Sell condition - price touches upper band and below 50 EMA
sell_condition = ta.crossunder(close, upper) and close < ema_filter

// Strategy Execution
if (buy_condition)
    strategy.entry("Buy", strategy.long)

if (sell_condition)
    strategy.entry("Sell", strategy.short)

// Exit with dynamic ATR-based stop loss and take profit
strategy.exit("Take Profit/Stop Loss", from_entry="Buy", limit=2*atr_value, stop=1*atr_value)
strategy.exit("Take Profit/Stop Loss", from_entry="Sell", limit=2*atr_value, stop=1*atr_value)