Strategi ini menggunakan indikator RSI untuk menilai overbought dan oversold, dan bekerja sama dengan indikator Bollinger Bands untuk saluran harga yang bergoyang, membentuk sinyal perdagangan. Ketika indikator RSI menunjukkan fenomena overbought atau oversold, dan ketika harga mendekati atau menyentuh Bollinger Bands, menghasilkan sinyal beli dan jual.
Strategi ini didasarkan pada dua indikator:
Untuk menghitung indikator RSI yang relatif kuat dan lemah dalam periode tertentu, berdasarkan parameter yang telah ditetapkan, pertimbangkan apakah itu masuk ke zona overbought atau oversold, misalnya batas atas zona overbought ditetapkan pada 40, dan batas bawah zona oversold ditetapkan pada 45.
Kalkulasikan Bollinger Bands dalam periode tertentu, yang membentuk saluran harga melalui lintasan atas dan bawahnya, dan gambarkan kisaran pergerakan harga.
Berdasarkan itu, strategi memberikan aturan perdagangan sebagai berikut:
Ketika RSI menembus 45 ke zona oversold dan harga menembus Bollinger Bands ke bawah, menghasilkan sinyal beli; Ketika RSI menembus 40 ke zona oversold, dan harga menembus Bollinger Bands di bawah rel, menghasilkan sinyal jual.
Strategi ini menggabungkan RSI dengan indikator Bollinger Bands dan memiliki keuntungan sebagai berikut:
RSI menilai kondisi overbought dan oversold, sementara Bollinger Bands menilai arah tren harga, keduanya saling melengkapi.
Brin Belt dapat digunakan sebagai posisi stop loss untuk pengendalian risiko;
Pengaturan parameter yang sederhana, mudah untuk diimplementasikan dan diukur;
Optimalkan parameter RSI untuk menentukan interval overbought dan oversold yang optimal.
Anda dapat memilih input harga yang berbeda untuk berbagai lingkungan pasar.
Strategi ini juga memiliki beberapa risiko:
Bandwidth Brin yang terlalu lebar menyebabkan stop loss yang kurang dari yang diharapkan.
Parameter RSI tidak disetel dengan benar, kesalahan penilaian overbought dan oversold
Tidak dapat menentukan titik balik tren dengan tepat, ada risiko kehilangan sinyal
Kegagalan untuk mengontrol kerugian secara efektif, risiko besar dari kejutan pasar untuk menghentikan kerugian
Strategi ini dapat dioptimalkan dalam beberapa hal:
Optimalkan parameter RSI untuk menentukan kisaran overbought dan oversold yang optimal
Optimalkan parameter bandwidth Brin, kendalikan stop loss
Menambahkan indikator lain untuk melihat perubahan tren, menghindari kehilangan sinyal
Menggunakan algoritma pembelajaran mesin untuk menentukan kapan harus membeli atau menjual
Menggunakan kombinasi parameter yang berbeda sesuai dengan situasi pasar yang berbeda
Menambahkan mekanisme stop loss dinamis
Program pengoptimalan otomatis parameter pengembangan
Secara keseluruhan, strategi ini menggunakan RSI dan indikator Brin Belt untuk membentuk dasar keputusan perdagangan yang lebih stabil. Logika strategi sederhana dan jelas, menguntungkan pengendalian risiko, tetapi juga ada ruang untuk pengoptimalan. Efek strategi dapat ditingkatkan lebih lanjut dengan cara pengoptimalan parameter, pengoptimalan stop loss, dan pengenalan algoritma.
/*backtest
start: 2023-08-18 00:00:00
end: 2023-09-17 00:00:00
period: 2h
basePeriod: 15m
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/
// © Mdemoio
//@version=4
strategy("Madri", shorttitle="Madri", overlay=true)
// Version 1.1
///////////// RSI
RSIlength = input(2,title="A")
RSIoverSold = 45
RSIoverBought = 40
price = close
vrsi = rsi(price, RSIlength)
///////////// Bollinger Bands
BBlength = input(150, minval=1,title="B")
BBmult = 2// input(2.0, minval=0.001, maxval=50,title="Bollinger Bands Standard Deviation")
BBbasis = sma(price, BBlength)
BBdev = BBmult * stdev(price, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev
source = close
buyEntry = crossover(source, BBlower)
sellEntry = crossunder(source, BBupper)
///////////// Colors
//switch1=input(true, title="Enable Bar Color?")
//switch2=input(true, title="Enable Background Color?")
//TrendColor = RSIoverBought and (price[1] > BBupper and price < BBupper) and BBbasis < BBbasis[1] ? red : RSIoverSold and (price[1] < BBlower and price > BBlower) and BBbasis > BBbasis[1] ? green : na
//barcolor(switch1?TrendColor:na)
//bgcolor(switch2?TrendColor:na,transp=50)
///////////// RSI + Bollinger Bands Strategy
if (not na(vrsi))
if (crossover(vrsi, RSIoverSold) and crossover(source, BBlower))
strategy.entry("RSI_BB_L", strategy.long, stop=BBlower, comment="Buy")
else
strategy.cancel(id="RSI_BB_L")
if (crossunder(vrsi, RSIoverBought) and crossunder(source, BBupper))
strategy.entry("RSI_BB_S", strategy.short, stop=BBupper, comment="Sell")
else
strategy.cancel(id="RSI_BB_S")
//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)