RSI berganda digabungkan dengan Bollinger Band untuk Mengikuti Trend

Penulis:ChaoZhang, Tarikh: 2023-09-19 22:10:02
Tag:

Ringkasan

Strategi ini menggunakan penunjuk RSI berganda untuk mengenal pasti keadaan overbought dan oversold, digabungkan dengan breakout Bollinger Band untuk menjana isyarat perdagangan.

Analisis Prinsip

Strategi ini menggunakan dua RSI dengan jangka masa yang berbeza untuk menilai status overbought / oversold jangka pendek dan jangka panjang. Isyarat perdagangan hanya dihasilkan apabila kedua-dua RSI mencapai nilai ambang secara serentak. Ini mengelakkan isyarat palsu dari satu RSI.

Bollinger Bands juga digunakan untuk mengenal pasti penembusan harga. Hanya apabila keadaan RSI dipenuhi dan harga memecahkan Boll Band band atas / bawah isyarat perdagangan akan dihasilkan. Pengesahan penembusan membantu mengelakkan isyarat di pasaran bukan trend.

Akhirnya, MA yang cepat dan perlahan diperiksa untuk arah trend. Perdagangan hanya dibuka apabila pecah sejajar dengan arah isyarat RSI.

Analisis Kelebihan

Penggunaan gabungan beberapa penunjuk membantu menapis isyarat palsu, hanya berdagang trend yang jelas. MA cepat / perlahan juga memudahkan trend berikut. Strategi mudah sesuai untuk mendapat keuntungan dari trend jangka pendek.

Analisis Risiko

Risiko utama adalah kegagalan untuk mengenal pasti pembalikan trend dengan segera. Pembalikan bentuk V yang tajam boleh menyebabkan kerugian yang ketara tanpa kehilangan berhenti tepat pada masanya. Penyesuaian parameter juga boleh mempengaruhi prestasi.

Cadangan Pengoptimuman

  1. Tambah strategi stop loss untuk keluar dengan cepat pada pembalikan.

  2. Masukkan penapis lain seperti kelantangan untuk mengelakkan pecah palsu.

  3. Mengoptimumkan parameter untuk mencari kombinasi terbaik.

  4. Tambah model pembelajaran mesin untuk mengenal pasti rejimen pasaran dengan lebih baik.

  5. Meningkatkan pengurusan risiko termasuk saiz kedudukan, kawalan kerugian.

Kesimpulan

Strategi ini menggabungkan dua RSI dan Bollinger Bands untuk mendapat keuntungan daripada trend jangka pendek. Walaupun mudah dan mudah, terdapat batasan seperti isyarat pembalikan tertunda.


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

//@version=2

strategy(title = "Madrugada strat copy", overlay = true, pyramiding = 0, default_qty_type = strategy.percent_of_equity, default_qty_value = 10, currency = currency.USD)
 
// === GENERAL INPUTS ===
// RSI 1
RSIlength = input(10,title="RSI") 
RSIoverSold = input(65,title="OSold")
RSIoverBought = input(35,title="OBought")
price = close
vrsi = rsi(price, RSIlength)
// RSI 2
RSIlength2 = input(6,title="RSI2") 
RSIoverSold2 = input(65,title="OSold2")
RSIoverBought2 = input(35,title="OBought2")
price2 = close
vrsi2 = rsi(price2, RSIlength2)

//Bollinger Bands
source = close
Bollinger = input(20, minval=1), Desv = input(1.7, minval=0.001, maxval=50)
basis = sma(source, Bollinger)
dev = Desv * stdev(source, Bollinger)
upper = basis + dev
lower = basis - dev
plot(basis, color=red, title="BB ma")
p1 = plot(upper, color=blue, title="BBajo")
p2 = plot(lower, color=blue, title="BAlto")
fill(p1, p2)

//Media movil
short = input(3, minval=1, title="Media corta")
long = input(10, minval=1, title="Media larga")
src = close
plot(sma(src, short), color=#00FF00, transp=0, linewidth=1, title="Media rapida")
plot(sma(src, long), color=white, transp=0, linewidth=2, title="Media lenta")


// === STRATEGY - LONG POSITION EXECUTION ===
enterLong() => vrsi < 30 and  vrsi2 < 27 and cross(lower, price)
exitLong() => short < long
strategy.entry(id = "Long", long = true, when = enterLong()) // use function or simple condition to decide when to get in
// === STRATEGY - SHORT POSITION EXECUTION ===
enterShort() => vrsi > 70 and vrsi2 > 70 and cross(upper, price)
strategy.entry(id = "Short", long = false, when = enterShort())


// Definición señales de compra
buy_signals = vrsi < 30 and  vrsi2 < 27 and cross(lower, price)

// Definición señales de venta
sell_signals = vrsi > 70 and vrsi2 > 70 and cross(upper, price)

// Dibuja las señales de compra venta en franjas de color
b_color = (sell_signals) ? color(red,65) : (buy_signals) ? color(green,65) : na
bgcolor(b_color)

// Dibuja las señales de compra venta coloreando las velas
barcolor(buy_signals ? white : sell_signals ? white : na)

plot(vrsi, color=white, linewidth=1)
plot(vrsi, color=white, linewidth=2)

// Crea alarmas usables desde el desplegable para poder enviar mails a haas
alertcondition(buy_signals, title='Buy-Signal', message='compra')
alertcondition(sell_signals, title='Sell-Signal', message='vende')


Lebih lanjut