Bollinger Band + RSI + Strategi Arah Purata Berbilang Pergerakan

BB RSI MA SMA MACD
Tarikh penciptaan: 2024-05-27 15:20:40 Akhirnya diubah suai: 2024-05-27 15:20:40
Salin: 2 Bilangan klik: 1189
1
fokus pada
1617
Pengikut

Bollinger Band + RSI + Strategi Arah Purata Berbilang Pergerakan

Gambaran keseluruhan

Strategi ini menggabungkan pita Brin, RSI, beberapa purata bergerak dan MACD untuk membina sistem perdagangan yang lengkap. Pertama, melalui Brin untuk menilai keadaan turun naik harga, dan menggunakan kedudukan harga relatif terhadap lintasan pita Brin untuk menentukan trend. Pada masa yang sama, menggunakan RSI untuk menilai keadaan overbought dan oversold, menggunakan RSI deviation untuk mengenal pasti potensi trend berbalik.

Prinsip Strategi

  1. Menggunakan 20 kitaran, 2 kali ganda standard yang buruk, Brin band untuk menilai trend dengan kedudukan harga penutupan berbanding Brin band tengah orbit.
  2. Hitung RSI 14 kitaran, dan menilai overbought dan oversold dengan rasio RSI yang bercampur dengan tahap 30 dan 70, untuk mengenal pasti potensi pembalikan.
  3. Hitung purata bergerak sederhana untuk kitaran 34, 89, 144, 233, 377 dan 610, untuk mengesahkan trend melalui susunan berbilang garis rata-rata, yang juga boleh digunakan sebagai tahap rintangan sokongan.
  4. Indikator MACD dikira berdasarkan parameter 12, 26, 9, dan dibantu untuk menentukan pembalikan trend melalui penyambungan pilar MACD dengan sumbu 0.
  5. Mengambil kesimpulan daripada semua indikator di atas, anda boleh membuat logik untuk membuka kedudukan kosong:
    • Buka kedudukan: buka lebih banyak kedudukan apabila harga penutupan berada di atas lintasan tengah Brin dan garis purata jangka pendek berada di atas garis purata jangka panjang.
    • Kedudukan rata: separuh kedudukan rata apabila harga penutupan jatuh di bawah lintasan tengah Brin, kedudukan rata penuh apabila garis purata jangka pendek jatuh di bawah garis purata jangka panjang.

Kelebihan Strategik

  1. Brinband dapat mengukur pergerakan harga secara objektif dan memberikan asas untuk penilaian trend.
  2. Memperkenalkan RSI membantu untuk menilai keadaan overbought dan oversold dan menangkap peluang untuk membalikkan trend yang berpotensi.
  3. Kombinasi pelbagai garis rata membolehkan analisis lebih menyeluruh mengenai trend di bawah pelbagai skala masa.
  4. Penunjuk MACD boleh digunakan sebagai penilaian tambahan untuk trend dan pembalikan, meningkatkan kebolehpercayaan isyarat.
  5. Logik pembukaan kedudukan terbuka memasukkan pemikiran pengurusan kedudukan, menurunkan kedudukan secara beransur-ansur untuk mengawal risiko apabila trend tidak pasti.

Risiko Strategik

  1. Dalam keadaan gegaran, Brin dan sistem linear boleh menghasilkan isyarat yang kerap dan bertentangan.
  2. RSI dan MACD mungkin kekal dalam zon overbought dan oversold dalam keadaan trend yang kuat.
  3. Pilihan parameter (seperti kitaran Brin, kitaran rata-rata, dan lain-lain) bersifat subjektif, dan parameter yang berbeza mungkin membawa hasil yang berbeza.
  4. Kurangnya mekanisme penangguhan kerugian boleh meningkatkan risiko transaksi tunggal.
  5. Dalam kes yang lebih teruk, seperti Black Swans, mungkin tidak dapat ditangani dalam masa yang sesuai, dan ini menyebabkan kemunduran yang lebih besar.

Arah pengoptimuman strategi

  1. Pengoptimuman yang lebih sistematik terhadap parameter pelbagai petunjuk, seperti kitaran dan lebar pita Brin, kitaran dan had RSI, dan sebagainya.
  2. Memperkenalkan lebih banyak isyarat pengesahan, seperti perubahan jumlah lalu lintas, meningkatkan kebolehpercayaan isyarat.
  3. Memperkenalkan mekanisme hentian dan hentian kerugian dalam keadaan pembukaan kedudukan terbuka untuk mengawal risiko perdagangan tunggal dengan lebih baik.
  4. Pertimbangkan untuk memperkenalkan mekanisme penyesuaian kedudukan, menyesuaikan kedudukan dengan fleksibel dalam keadaan pasaran yang berbeza, meningkatkan nisbah risiko pendapatan.
  5. Reka bentuk untuk menghadapi keadaan yang melampau, seperti lindung nilai berdasarkan indeks VIX atau dinamika berat faktor Alpha.

ringkaskan

Strategi ini membina sistem perdagangan yang lebih baik dari pelbagai dimensi, termasuk penilaian trend, penilaian overbought dan oversold, analisis skala masa berbilang, kawalan kedudukan, dan lain-lain. Tetapi strategi ini masih perlu dioptimumkan untuk menghadapi keadaan yang bergolak, keadaan yang melampau, dan kekurangan pengoptimuman parameter dan kawalan risiko yang lebih sistematik.

Kod sumber strategi
/*backtest
start: 2023-05-21 00:00:00
end: 2024-05-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bollinger Bands + RSI Strategy with MA", overlay=true)

// Bollinger Bands
length = input.int(20, title="BB Length")
mult = input.float(2.0, title="BB Mult")
basis = ta.sma(close, length)
dev = mult * ta.stdev(close, length)
upper_band = basis + dev
lower_band = basis - dev

// RSI
rsi_length = input.int(14, title="RSI Length")
rsi_oversold = input.int(30, title="RSI Oversold", minval=0, maxval=100)
rsi_overbought = input.int(70, title="RSI Overbought", minval=0, maxval=100)
rsi = ta.rsi(close, rsi_length)

// RSI Divergence
rsi_divergence_bottom = ta.crossunder(rsi, rsi_oversold)
rsi_divergence_peak = ta.crossunder(rsi_overbought, rsi)

// Moving Averages
ma34 = ta.sma(close, 34)
ma89 = ta.sma(close, 89)
ma144 = ta.sma(close, 144)
ma233 = ta.sma(close, 233)
ma377 = ta.sma(close, 377)
ma610 = ta.sma(close, 610)

// MACD Calculation
[macd_line, signal_line, _] = ta.macd(close, 12, 26, 9)
macd_histogram = macd_line - signal_line

// MACD Divergence
macd_divergence_bottom = ta.crossunder(macd_histogram, 0)
macd_divergence_peak = ta.crossover(macd_histogram, 0)

// Conditions for Buy and Sell
basis_gt_ma34 = basis > ma34
ma34_gt_ma89 = ma34 > ma89

// Entry condition
buy_condition = basis_gt_ma34 and ma34_gt_ma89 
sell_condition =  basis <ma34

// Calculate position size
position_size = 1.0  // 100% capital initially

// Update position size based on conditions
if (sell_condition)
    position_size := 0.5  // Sell half of the position
if (not basis_gt_ma34)
    position_size := 0.0  // Sell all if basis < ma34

// Entry and exit strategy
if (buy_condition)
    strategy.entry("Buy", strategy.long, qty=position_size)
if (sell_condition)
    strategy.close("Buy")

// Plot Bollinger Bands and Moving Averages
bb_fill_color = basis > basis[1] ? color.new(color.blue, 90) : color.new(color.blue, 10)
plot(basis, color=color.blue, title="Basis")
plot(upper_band, color=color.red, title="Upper Band")
plot(lower_band, color=color.green, title="Lower Band")
fill(plot1=plot(upper_band), plot2=plot(lower_band), color=bb_fill_color, title="BB Fill")
plot(ma34, color=color.orange, title="MA34")
plot(ma89, color=color.purple, title="MA89")
plot(ma144, color=color.gray, title="MA144")
plot(ma233, color=color.blue, title="MA233")
plot(ma377, color=color.red, title="MA377")
plot(ma610, color=color.green, title="MA610")

// Plot RSI Divergence
plotshape(series=rsi_divergence_bottom, style=shape.triangleup, location=location.abovebar, color=color.green, size=size.small)
plotshape(series=rsi_divergence_peak, style=shape.triangledown, location=location.belowbar, color=color.red, size=size.small)

// Plot MACD Histogram Divergence
plotshape(series=macd_divergence_bottom, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(series=macd_divergence_peak, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)