Sumber dimuat naik... memuat...

RSI dan Bollinger Bands Strategi Dagangan Swing Synergistic

Penulis:ChaoZhang, Tarikh: 2025-01-06 13:51:50
Tag:RSIBBMASMA

img

Ringkasan

Strategi ini adalah sistem perdagangan ayunan yang menggabungkan penunjuk RSI dengan Bollinger Bands. Ia mengenal pasti keadaan pasaran yang terlalu banyak dibeli dan terlalu banyak dijual sambil mempertimbangkan kedudukan harga dalam Bollinger Bands untuk keputusan perdagangan. Strategi ini menggunakan ambang RSI yang agak santai (terlalu banyak dibeli pada 60, terlalu banyak dijual pada 40) dan mengintegrasikan sempadan Bollinger Band untuk masa masuk dan keluar, bersama dengan mekanisme mengambil keuntungan 2%.

Prinsip Strategi

Logik teras adalah berdasarkan beberapa komponen utama:

  1. Indikator RSI: Mengukur keadaan overbought/oversold pasaran menggunakan kitaran pengiraan 14 tempoh.
  2. Bollinger Bands: Menggunakan purata bergerak 20 tempoh sebagai band tengah, dengan pengganda penyimpangan piawai 2.0.
  3. Purata Bergerak 50 tempoh: Berkhidmat sebagai rujukan trend.

Syarat Beli:

  • Harga berhampiran atau di bawah Bollinger Band bawah (zon penyangga 1% dibenarkan)
  • RSI di bawah 40 (zon oversold)

Syarat Jualan:

  • Harga berhampiran atau di atas Bollinger Band atas (zon penyangga 1% dibenarkan)
  • RSI melebihi 60 (zon overbought)
  • Atau sasaran keuntungan 2% dicapai

Kelebihan Strategi

  1. Mekanisme Pengesahan Berbilang: Mengurangkan isyarat palsu melalui sinergi RSI dan Bollinger Bands.
  2. Kawalan Risiko yang kukuh: Sasaran keuntungan yang jelas menghalang kedudukan yang tidak sesuai.
  3. Parameter fleksibel: Parameter utama boleh dioptimumkan untuk keadaan pasaran yang berbeza.
  4. Pertimbangan Kos: Termasuk perbelanjaan komisen (0.1%) dan pemangkasan (3 mata).
  5. Visualisasi yang baik: Menggunakan pelbagai garis berwarna dan kawasan yang diisi untuk paparan isyarat yang intuitif.

Risiko Strategi

  1. Risiko pasaran yang berbelit-belit: Boleh menghasilkan perdagangan yang kerap di pasaran sampingan. Penyelesaian: Tambah penapis purata bergerak atau mekanisme pengesahan trend.

  2. Risiko Penembusan Palsu: Penembusan harga Bollinger Bands yang singkat boleh mencetuskan isyarat palsu. Penyelesaian: Tambah tempoh pengesahan atau meningkatkan keperluan penyemburan.

  3. Kebergantungan persekitaran pasaran: Prestasi boleh berbeza-beza di dalam kitaran pasaran yang berbeza. Penyelesaian: Sesuaikan parameter secara dinamik berdasarkan ciri pasaran.

Arahan pengoptimuman

  1. Pengoptimuman Parameter Dinamik:
  • Sesuaikan secara automatik pengganda deviasi standard Bollinger Bands berdasarkan turun naik
  • Sesuaikan ambang RSI secara dinamik berdasarkan persekitaran pasaran
  1. Penapis tambahan:
  • Tambah mekanisme pengesahan jumlah
  • Memperkenalkan penunjuk kekuatan trend
  1. Optimumkan Hentikan Kerugian:
  • Tambah fungsi hentian
  • Melaksanakan kerugian berhenti dinamik berasaskan ATR

Ringkasan

Strategi ini membina sistem perdagangan ayunan yang agak kukuh melalui sinergi RSI dan Bollinger Bands. Ciri utamanya adalah mengekalkan peluang perdagangan sambil mengawal risiko melalui pelbagai mekanisme pengesahan. Walaupun terdapat risiko yang berpotensi, kestabilan dan kebolehpercayaan strategi dapat ditingkatkan lagi melalui pengoptimuman parameter dan keadaan penapisan tambahan. Ia sesuai untuk pasaran yang tidak menentu tetapi memerlukan penyesuaian parameter berdasarkan ciri pasaran tertentu.


/*backtest
start: 2024-12-06 00:00:00
end: 2025-01-04 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Demo GPT - Adjusted Swing Trading for SBI", overlay=true, commission_type=strategy.commission.percent, commission_value=0.1, slippage=3)

// Input Parameters
rsiLength = input.int(14, minval=1, title="RSI Length")
rsiOverbought = input.int(60, minval=50, maxval=100, title="RSI Overbought Level") // Relaxed level
rsiOversold = input.int(40, minval=0, maxval=50, title="RSI Oversold Level")       // Relaxed level
bbLength = input.int(20, minval=1, title="Bollinger Bands Length")
bbMult = input.float(2.0, minval=0.1, maxval=5, title="Bollinger Bands StdDev Multiplier")
maLength = input.int(50, minval=1, title="Moving Average Length")

// RSI Calculation
rsi = ta.rsi(close, rsiLength)

// Bollinger Bands Calculation
bbBasis = ta.sma(close, bbLength)
bbDev = bbMult * ta.stdev(close, bbLength)
bbUpper = bbBasis + bbDev
bbLower = bbBasis - bbDev

// Moving Average
ma = ta.sma(close, maLength)

// Buy Signal: Price near or below lower Bollinger Band AND RSI below oversold level
buySignal = (close <= bbLower * 1.01) and (rsi < rsiOversold)

// Sell Signal: Price near or above upper Bollinger Band OR RSI above overbought level
sellSignal = (close >= bbUpper * 0.99) or (rsi > rsiOverbought)

// Date Range Inputs
startDate = input(timestamp("2018-01-01 00:00"), title="Start Date")
endDate = input(timestamp("2069-12-31 23:59"), title="End Date")
inDateRange = true

// Strategy Logic
if buySignal and inDateRange
    strategy.entry("Swing Long SBI", strategy.long)

if strategy.position_size > 0 and (sellSignal or close >= strategy.position_avg_price * 1.02)
    strategy.close("Swing Long SBI")

// Plotting
plot(bbBasis, title="Bollinger Bands Basis", color=color.blue)
plot(bbUpper, title="Bollinger Bands Upper", color=color.red)
plot(bbLower, title="Bollinger Bands Lower", color=color.green)
plot(ma, title="Moving Average", color=color.orange)
hline(rsiOverbought, "RSI Overbought", color=color.red, linestyle=hline.style_dotted)
hline(rsiOversold, "RSI Oversold", color=color.green, linestyle=hline.style_dotted)
plot(rsi, title="RSI", color=color.purple)

// Fill Bollinger Bands for Visualization
fill(plot(bbUpper), plot(bbLower), title="Bollinger Bands Background", color=color.rgb(33, 150, 243, 95))


Berkaitan

Lebih lanjut