Strategi ini menggunakan penunjuk RSI berganda untuk mengenal pasti keadaan overbought dan oversold, digabungkan dengan breakout Bollinger Band untuk menjana isyarat perdagangan.
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.
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.
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.
Tambah strategi stop loss untuk keluar dengan cepat pada pembalikan.
Masukkan penapis lain seperti kelantangan untuk mengelakkan pecah palsu.
Mengoptimumkan parameter untuk mencari kombinasi terbaik.
Tambah model pembelajaran mesin untuk mengenal pasti rejimen pasaran dengan lebih baik.
Meningkatkan pengurusan risiko termasuk saiz kedudukan, kawalan kerugian.
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')