Bollinger Bands dan RSI Strategi Jualan Pendek

Penulis:ChaoZhang, Tarikh: 2023-12-15 15:54:05
Tag:

img

Ringkasan

Strategi jual pendek Bollinger Bands dan RSI adalah strategi perdagangan jangka pendek berdasarkan Bollinger Bands dan Indeks Kekuatan Relatif (RSI). Ia menggabungkan Bollinger Bands untuk mengukur sama ada pasaran terlalu panas dan RSI untuk menentukan momentum pasaran, untuk mengenal pasti peluang jual pendek.

Logika Strategi

Strategi ini bergantung kepada dua penunjuk utama:

  1. Bollinger Bands. Bollinger Bands terdiri daripada band tengah, band atas dan band bawah. Band tengah adalah purata bergerak n hari. Band atas dan bawah adalah n penyimpangan standard di atas dan di bawah band tengah. Apabila harga melantun dari band bawah ke band atas, pasaran dianggap terlalu panas. Apabila harga jatuh kembali dari band atas ke band bawah, pasaran telah sejuk.

  2. RSI. RSI membandingkan purata keuntungan dan kerugian dalam tempoh, untuk menentukan kekuatan aliran naik dan turun. Apabila RSI melebihi 70, ia menandakan bahawa harga terlalu panas. Apabila RSI di bawah 30, ia menandakan harga terlalu dijual.

Logik perdagangan khusus adalah:

  1. Apabila harga melanggar band atas Bollinger dan RSI lebih besar daripada 70, ia mencetuskan isyarat overheat Bollinger dan isyarat overbought RSI, dengan itu pergi pendek.

  2. Apabila harga pecah di bawah band bawah Bollinger, pasaran berbalik lebih sejuk, dengan itu kedudukan ditutup.

Strategi ini juga menetapkan stop loss dan mengambil keuntungan:

  1. Stop loss ditetapkan pada harga masuk * (1+1%), iaitu menahan kerugian 1%.

  2. Mengambil keuntungan ditetapkan pada harga kemasukan * (1-7%), iaitu mengambil keuntungan 7% kemudian menutup kedudukan.

Kelebihan

Strategi ini mempunyai kelebihan berikut:

  1. Menggabungkan Bollinger Bands dan RSI, mengelakkan kebarangkalian penilaian yang salah dari satu penunjuk.

  2. Menggunakan pita Bollinger Bands dan kawasan overbought-oversold RSI untuk menentukan masa masuk dan keluar yang tepat untuk perdagangan jangka pendek.

  3. Set stop loss dan mengambil keuntungan sebelum masuk untuk mengawal risiko.

  4. Logik yang mudah dan jelas, mudah difahami dan dilaksanakan.

  5. Band Bollinger yang fleksibel dan parameter RSI yang boleh disesuaikan dengan tempoh dan persekitaran pasaran yang berbeza.

Risiko

Walaupun kelebihan, strategi ini mempunyai beberapa risiko untuk mengurangkan:

  1. Kedua-dua Bollinger Bands dan RSI adalah penunjuk trend, tidak sesuai untuk pasaran julat atau tanpa arah.

  2. Tidak boleh menjamin stop loss dan mengambil keuntungan akan sentiasa dicetuskan dengan sempurna.

  3. Pergerakan pasaran yang melampau boleh menembusi stop loss dan menyebabkan kerugian di atas jangkaan.

  4. Menghendaki penyesuaian parameter indikator yang berterusan untuk menyesuaikan diri dengan pasaran yang berubah.

Kaedah pengurusan risiko yang sepadan:

  1. Sertakan penunjuk asas seperti purata bergerak untuk menentukan trend tempatan, mengelakkan whipsaws yang tidak perlu.

  2. Mengurangkan saiz kedudukan, mempelbagaikan strategi, untuk menyebarkan risiko.

  3. Memperluas peratusan stop loss atau menetapkan super stop untuk menahan pergerakan pasaran yang melampau.

  4. Selalunya menyesuaikan parameter berdasarkan hasil ujian semasa.

Peluang Pengoptimuman

Beberapa aspek boleh dipertimbangkan untuk mengoptimumkan lagi strategi:

  1. Masukkan penunjuk lain untuk mengelakkan whipsaws yang tidak perlu, contohnya EMA, MACD.

  2. Ujian untuk parameter optimum di pelbagai produk dan jangka masa, contohnya 15m, 30m, 1h pada mata wang kripto dan saham terkemuka.

  3. Melaksanakan hentian dinamik, menyesuaikan tahap hentian berdasarkan turun naik pasaran masa nyata, untuk mengurangkan risiko hentian.

  4. Pertimbangkan untuk mengoptimumkan melalui algoritma pembelajaran mesin untuk secara automatik menemui parameter optimum atau corak yang lebih kompleks.

Kesimpulan

Strategi jangka pendek pertama mengenal pasti masa jual pendek yang optimum melalui mengukur suhu pasaran dan momentum dengan Bollinger Bands dan RSI. Ia kemudian mengawal risiko dengan kehilangan berhenti dan mengambil keuntungan. Kelebihannya terletak pada kesederhanaan dan kemudahan pelaksanaan. Risiko utama berasal dari batasan penunjuk dan berhenti berjalan. Penyelesaian termasuk menggabungkan lebih banyak penunjuk, menyesuaikan parameter secara dinamik dan membenarkan berhenti yang lebih luas. Masih banyak ruang untuk pengoptimuman melalui pengenalan lebih banyak penunjuk dan peningkatan pengiraan.


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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Coinrule
// Works best on 30m, 45m timeframe

//@version=5
strategy("Bollinger Bands and RSI Short Selling",
         overlay=true,
         initial_capital = 1000,
         default_qty_value = 30,
         default_qty_type = strategy.percent_of_equity,
         commission_type=strategy.commission.percent,
         commission_value=0.1)

//Backtest period
timePeriod = time >= timestamp(syminfo.timezone, 2021, 12, 1, 0, 0)
notInTrade = strategy.position_size <= 0

//Bollinger Bands Indicator
length = input.int(20, minval=1)
src = input(close, title="Source")
mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev")
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
offset = input.int(0, "Offset", minval = -500, maxval = 500)
plot(basis, "Basis", color=#FF6D00, offset = offset)
p1 = plot(upper, "Upper", color=#2962FF, offset = offset)
p2 = plot(lower, "Lower", color=#2962FF, offset = offset)
fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95))


// RSI inputs and calculations
lengthRSI = 14
RSI = ta.rsi(close, lengthRSI)
oversold= input(30)


//Stop Loss and Take Profit for Shorting
Stop_loss= ((input (1))/100)
Take_profit= ((input (7)/100))

shortStopPrice  = strategy.position_avg_price * (1 + Stop_loss)
shortTakeProfit = strategy.position_avg_price * (1 - Take_profit)

//Entry and Exit
strategy.entry(id="short", direction=strategy.short, when=ta.crossover(close, upper) and RSI < 70 and timePeriod and notInTrade)

if (ta.crossover(upper, close) and RSI > 70 and timePeriod)
    strategy.exit(id='close', stop = shortTakeProfit, limit = shortStopPrice)

    


Lebih lanjut