Strategi perdagangan bergolak RSI adalah strategi perdagangan bergolak garis pendek yang menggunakan gabungan indikator Boll dan indikator RSI yang agak kuat. Strategi ini memperoleh keuntungan dengan menangkap pergerakan bergolak antara harga di atas dan di bawah jalur Boll.
Pertama, strategi ini menggunakan penunjuk Boll band untuk menganalisis had atas dan bawah pergerakan harga. Apabila harga hampir ke atas, ia adalah terlalu beli, dan apabila ia hampir ke bawah, ia adalah terlalu jual.
Kedua, gabungan RSI untuk menilai kekuatan overbought dan oversold. RSI lebih tinggi daripada 70 adalah overbought dan lebih rendah daripada 30 adalah oversold.
Apabila harga menyentuh Boll band ke bawah dan RSI menunjukkan oversold, buat lebih banyak; apabila harga menyentuh Boll band ke atas dan RSI menunjukkan oversold, buat kosong.
Indeks Bollinger Bands dapat menentukan dengan tepat pergerakan harga.
RSI mengelakkan kerja kosong secara buta.
Ia juga boleh digunakan untuk menjana keuntungan yang lebih besar.
Berdagang dengan kerap dan berkemampuan untuk menghasilkan keuntungan.
Berlaku untuk pelbagai jenis dan tempoh masa.
Parameter Boldenone tidak betul, tidak dapat menentukan harga kritikal.
RSI parameter yang tidak munasabah, menghasilkan isyarat palsu.
Tidak cukup daya tahan, penangguhan berlaku.
Kos slippage disebabkan oleh frekuensi dagangan yang lebih tinggi.
Ia adalah sukar untuk memahami trend dalam pasaran yang tidak menentu.
Parameter pengoptimuman untuk menjadikan Lebaran Bohr berhampiran dengan julat turun naik sebenar.
Sesuaikan kitaran RSI untuk memastikan kebisingan disaring.
Stop loss bergerak untuk menjejaki harga dan mengurangkan kerugian lelang.
Pilih jenis yang berdagang dengan baik untuk mengurangkan kesan slippage
Indikator lain boleh membantu menentukan arah trend.
Strategi perdagangan RSI bergolak, mampu menangkap pergerakan harga dalam julat dengan berkesan. Dengan penyesuaian parameter dan pengurusan risiko, keuntungan yang stabil dapat diperoleh. Ini adalah strategi perdagangan kuantitatif garis pendek yang disyorkan.
/*backtest
start: 2023-08-16 00:00:00
end: 2023-09-15 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Swing trading strategy FOREX ", shorttitle="BB+RSI", overlay=true)
////////////////////////////////////////////////////////////////////////////////
// BACKTESTING RANGE
// From Date Inputs
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2020, title = "From Year", minval = 1970)
// To Date Inputs
toDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2022, title = "To Year", minval = 1970)
// Calculate start/end date and time condition
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
//
//
///////////// RSI
RSIlength = input(6,title="RSI Period Length")
RSIoverSold = input(defval = 65, title = "RSIoverSold", minval = 1, maxval = 100)
RSIoverBought = input(defval = 35, title = "RSIoverBought", minval = 1, maxval = 100)
price = close
vrsi = rsi(price, RSIlength)
///////////// Bollinger Bands
BBlength = input(200, minval=1,title="Bollinger Period Length")
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)
plot(BBbasis, color=color.aqua,title="Bollinger Bands SMA Basis Line")
p1 = plot(BBupper, color=color.silver,title="Bollinger Bands Upper Line")
p2 = plot(BBlower, color=color.silver,title="Bollinger Bands Lower Line")
fill(p1, p2)
///////////// 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] ? color.red : RSIoverSold and (price[1] < BBlower and price > BBlower) and BBbasis > BBbasis[1] ? color.green : na
barcolor(switch1?TrendColor:na)
bgcolor(switch2?TrendColor:na,transp=50)
///////////// RSI + Bollinger Bands Strategy
//for buy
cond1=crossover(vrsi, RSIoverSold)
cond2=crossover(source, BBlower)
//for sell
cond3=crossunder(vrsi, RSIoverBought)
cond4=crossunder(source, BBupper)
if (not na(vrsi))
if (cond1 and cond2 and time_cond)
strategy.entry("RSI_BB_LONG", strategy.long, stop=BBlower, comment="LONG",alert_message = "long")
else
strategy.cancel(id="RSI_BB_LONG")
if (cond3 and cond4 and time_cond)
strategy.entry("RSI_BB_SHORT", strategy.short, stop=BBupper, comment="SHORT",alert_message = "short")
//strategy.close("RSI_BB_LONG")
else
strategy.cancel(id="RSI_BB_SHORT")
//strategy.exit("closelong", "RSI_BB_LONG" , profit = close * 0.01 / syminfo.mintick, loss = close * 0.01 / syminfo.mintick, alert_message = "closelong")
//strategy.exit("closeshort", "RSI_BB_SHORT" , profit = close * 0.01 / syminfo.mintick, loss = close * 0.01 / syminfo.mintick, alert_message = "closeshort")
//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)