
Strategi ini mengintegrasikan tiga indikator Bollinger Bands, Relatively Strong Index (RSI) dan Index Moving Average (EMA) untuk mewujudkan strategi perdagangan otomatis saham yang dipegang oleh garis panjang. Sinyal beli dihasilkan ketika RSI berada di bawah garis oversold dan harga mendekati atau menyentuh Bollinger Bands; Sinyal jual dihasilkan ketika harga naik menyentuh Bollinger Bands.
Strategi ini didasarkan pada tiga indikator utama, yaitu Brin, RSI, dan EMA. Garis tengah dalam Brin adalah rata-rata bergerak sederhana dari harga, dan garis atas dan bawah adalah dua kali lipat dari selisih standar harga. Brin dapat menilai fenomena overbought dan oversold di pasar, harga mendekati downtrend sebagai oversold, dan mendekati uptrend sebagai oversold.
Kondisi pembelian untuk strategi ini adalah: Sebuah sinyal beli dihasilkan ketika RSI berada di bawah garis oversold 30 dan perlu untuk memenuhi keadaan oversold saat harga sudah mendekati atau menyentuh tren bawah Brin, untuk menghindari sinyal palsu.
Kondisi jual dari strategi ini adalah: Selama kenaikan harga, sinyal jual dihasilkan saat sentuhan Brin band di rel, comboBox1 ⋅ Dengan demikian, Brin band digunakan untuk menilai status overbought, untuk melakukan stop-sell ⋅
Solusi untuk Mengatasi Risiko:
Strategi ini dapat dioptimalkan lebih lanjut dari beberapa arah:
Strategi ini mengintegrasikan tiga indikator Bollinger Bands, RSI, dan EMA, untuk mencapai penilaian filter ganda. Strategi ini memiliki mekanisme filter ganda untuk menilai status overbought dan oversold yang dapat secara efektif menghindari sinyal palsu, dan menggunakan EMA untuk menilai tren yang dapat menghindari perdagangan berlawanan.
/*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")