Bollinger Bands + RSI + Strategi Dagangan Ganda EMA

Penulis:ChaoZhang, Tarikh: 2023-12-29 14:46:57
Tag:

img

Ringkasan

Strategi ini mengintegrasikan tiga penunjuk Bollinger Bands, Indeks Kekuatan Relatif (RSI) dan Exponential Moving Average (EMA) untuk melaksanakan strategi perdagangan automatik dengan tempoh penahan yang panjang untuk saham. Ia menghasilkan isyarat beli apabila RSI berada di bawah garis oversold dan harga berhampiran atau menyentuh rel bawah Bollinger Bands, dan menghasilkan isyarat jual apabila harga naik untuk menyentuh rel atas Bollinger Bands, menggunakan Bollinger Bands untuk menentukan trend pasaran dan status overbought / oversold untuk pengesahan berganda.

Prinsip Strategi

RSI adalah satu daripada penunjuk penting untuk menilai sama ada saham terlalu banyak dibeli atau terlalu banyak dijual. RSI di bawah 30 menunjukkan status oversold dan RSI di atas 70 menunjukkan status overbought. EMA adalah purata bergerak bertimbang eksponen harga dan boleh menentukan trend harga.

Isyarat beli untuk strategi ini dihasilkan apabila RSI berada di bawah garis oversold 30, dan pada masa yang sama harga telah mendekati atau menyentuh rel bawah Bollinger Bands dalam keadaan oversold. Ini mengelakkan isyarat palsu.

Isyarat jual dihasilkan apabila harga menyentuh rel atas Bollinger Bands semasa aliran naik. Ini menggunakan Bollinger Bands untuk menentukan status overbought dan menjual untuk mengambil keuntungan.

Kelebihan Strategi

  1. Mengintegrasikan Bollinger Bands dan RSI untuk mengesahkan status overbought / oversold, mengelakkan isyarat palsu.
  2. Menggunakan EMA untuk menentukan arah trend harga, mengelakkan perdagangan terhadap trend.
  3. Parameter untuk kedua-dua RSI dan Bollinger Bands boleh disesuaikan untuk saham yang berbeza.
  4. Logik strategi yang mudah dan jelas, mudah difahami dan dilaksanakan.

Risiko Strategi

  1. Kedua-dua Bollinger Bands dan RSI boleh menghasilkan isyarat palsu, menyebabkan entri yang salah.
  2. Kedudukan stop loss memerlukan pengoptimuman lanjut, dengan risiko retracement yang lebih tinggi.
  3. EMA mungkin gagal menentukan trend dengan sempurna dengan titik pembalikan trend yang terlepas.
  4. Tetapan parameter yang tidak sesuai boleh menyebabkan terlalu banyak perdagangan atau kehilangan peluang perdagangan.

Penyelesaian:

  1. Memendekkan tempoh Bollinger Bands, mengoptimumkan parameter RSI.
  2. Stop kehilangan dinamik.
  3. Mengintegrasikan penunjuk lain untuk penentuan trend.
  4. Uji tetapan parameter yang berbeza untuk mencari kombinasi yang optimum.

Arahan untuk Pengoptimuman Strategi

Strategi ini boleh dioptimumkan lagi dalam aspek berikut:

  1. Tambah lebih banyak penunjuk untuk penilaian, contohnya KD untuk status overbought/oversold.
  2. Tambah mekanisme stop loss seperti pergerakan stop loss, zon stop loss untuk menguruskan risiko.
  3. Tambahkan peraturan keluar berdasarkan penentuan trend EMA dalam keadaan jualan.
  4. Mengoptimumkan tetapan parameter untuk memperluaskan julat keuntungan, contohnya menyesuaikan lebar Bollinger Bands.
  5. Tambahkan peraturan kemasukan untuk mengelakkan gangguan palsu, contohnya penapis kelantangan.

Kesimpulan

Strategi ini mengintegrasikan Bollinger Bands, RSI dan EMA untuk strategi perdagangan automatik memegang lama dengan penapis pengesahan berganda. Pengesahan berganda untuk status overbought / oversold mengelakkan isyarat palsu dengan berkesan, dan menggunakan EMA untuk penentuan trend menghalang perdagangan terhadap trend. Sementara itu, tetapan parameter yang fleksibel menjadikannya dapat disesuaikan dengan saham yang berbeza. Penambahbaikan lanjut dalam aspek mekanisme stop loss dan keluar dapat meningkatkan kecekapan dan pengurusan risiko strategi. Strategi ini menyediakan kerangka rujukan yang berharga untuk pemula dan mempunyai kepentingan praktikal.


/*backtest
start: 2023-12-21 00:00:00
end: 2023-12-28 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Bollinger + RSI + EMA, Double Strategy Long-Only (by ChartArt) v1.3", shorttitle="rsi 30 min ADJ Buy", overlay=true)

///////////// RSI
RSIlength = input(2, title="RSI Period Length") // Adjusted RSI period length
RSIoverSold = input(30, title="RSI Oversold Level")  // Adjustable RSI oversold level
RSIoverBought = input(80, title="RSI Overbought Level")  // Adjustable RSI overbought level
price = close
vrsi = rsi(price, RSIlength)

///////////// Bollinger Bands
BBlength = input(231, minval=1, title="Bollinger Period Length") // Adjusted Bollinger period length
BBmult = 2
BBbasis = sma(price, BBlength)
BBdev = BBmult * stdev(price, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev

///////////// EMA
useEMA = input(true, title="Use EMA?")
emaLength = input(20, title="EMA Period Length")
ema = useEMA ? ema(close, emaLength) : na

source = close
buyEntry = crossover(source, BBlower) or (close < BBlower and close > BBbasis) or (low < BBlower and close > BBbasis) // Add condition for low touching Bollinger Band
sellEntry = crossunder(source, BBupper)

///////////// Plotting
plot(BBbasis, color=color.aqua, title="Bollinger Bands SMA Basis Line")
plot(BBupper, color=color.silver, title="Bollinger Bands Upper Line")
plot(BBlower, color=color.silver, title="Bollinger Bands Lower Line")
plot(ema, color=color.orange, title="EMA")  // Plot EMA

///////////// RSI + Bollinger Bands Strategy
long = crossover(vrsi, RSIoverSold) and buyEntry
close_long = close >= BBupper

if (not na(vrsi))
    if long
        strategy.entry("Buy", strategy.long, qty=10, stop=BBlower, comment="Buy")
    else
        strategy.cancel(id="Buy")
        
    if close_long
        strategy.close("Buy")


Lebih lanjut