
Strategi balas rata RSI dua arah adalah strategi pengesanan trend yang menggunakan dua tanda RSI dari tempoh masa yang berbeza untuk mengenal pasti keadaan overbought dan oversold. Strategi ini bertujuan untuk mendapatkan keuntungan dengan melakukan lebih banyak selepas oversold dan mengambil lebih sedikit selepas oversold. Strategi ini menggunakan rata-rata bergerak yang tidak seimbang, tanda RSI dan penapis warna untuk mengenal pasti peluang perdagangan.
Strategi ini menggunakan dua penunjuk RSI dengan kitaran yang berbeza, satu pada carta 5 minit dan satu pada carta 1 jam. Bagi penunjuk RSI, tahap oversold diiktiraf di bawah 30 dan tahap overbought di atas 70.
Ia menjejaki nilai RSI untuk mencari RSI yang berada dalam zon overbought atau oversold yang berterusan untuk tempoh tertentu, yang menunjukkan keadaan oversold atau oversold yang berkembang.
Di samping itu, ia menggunakan rata-rata bergerak asynchronous yang halus, memeriksa garis K merah atau hijau untuk tempoh tertentu sebelum memasuki perdagangan untuk mengesahkan arah trend. Penapis warna kedudukan membantu mengelakkan isyarat palsu.
Apabila kedua-dua syarat RSI dan Sliding Average dan Moving Average telah dipenuhi, strategi ini akan melakukan overbought dan overbought, dan harga pertaruhan akan kembali ke garis purata.
Pada penghujung setiap hari, anda perlu mengeluarkan wang anda untuk mengelakkan menyimpan wang anda semalaman.
Strategi tindak balas rata-rata RSI dua hala menggunakan kaedah untuk mengaturkan dinamika perdagangan. Dengan menggabungkan dua bingkai masa, indikator overbought dan oversold, analisis bentuk K-line, dan penapis bukaan, ia bertujuan untuk mengenal pasti peluang pulangan rata-rata yang berkemungkinan tinggi. Pengurusan risiko yang ketat dan kawalan kedudukan yang berhati-hati membantu untuk mengawal penarikan balik semasa mendapat keuntungan.
/*backtest
start: 2023-09-01 00:00:00
end: 2023-09-30 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Gidra
//2018
//@version=2
strategy(title = "Gidra's Vchain Strategy v0.1", shorttitle = "Gidra's Vchain Strategy v0.1", overlay = false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 100)
//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot, %")
rsiperiod = input(14, defval = 14, minval = 2, maxval = 100, title = "RSI period")
rsilimit = input(30, defval = 30, minval = 1, maxval = 50, title = "RSI limit")
rsibars = input(3, defval = 3, minval = 1, maxval = 20, title = "RSI signals")
useocf = input(true, defval = true, title = "Use Open Color Filter")
openbars = input(2, defval = 2, minval = 1, maxval = 20, title = "Open Color, Bars")
showrsi = input(true, defval = true, title = "Show indicator RSI")
fromyear = input(2018, defval = 2018, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From Day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To Day")
//Heikin Ashi Open/Close Price
o=open
c=close
h=high
l=low
haclose = (o+h+l+c)/4
haopen = na(haopen[1]) ? (o + c)/2 : (haopen[1] + haclose[1]) / 2
hahigh = max (h, max(haopen,haclose))
halow = min (l, min(haopen,haclose))
col=haopen>haclose ? red : lime
plotcandle(haopen, hahigh, halow, haclose, title="heikin", color=col)
//RSI
uprsi = rma(max(change(close), 0), rsiperiod)
dnrsi = rma(-min(change(close), 0), rsiperiod)
rsi = dnrsi == 0 ? 100 : uprsi == 0 ? 0 : 100 - (100 / (1 + uprsi / dnrsi))
uplimit = 100 - rsilimit
dnlimit = rsilimit
rsidn = rsi < dnlimit ? 1 : 0
rsiup = rsi > uplimit ? 1 : 0
//RSI condition
rsidnok = highest(rsidn, rsibars) == 1? 1 : 0
rsiupok = highest(rsiup, rsibars) == 1? 1 : 0
//Color Filter
bar = haclose > haopen ? 1 : haclose < haopen ? -1 : 0
gbar = bar == 1 ? 1 : 0
rbar = bar == -1 ? 1 : 0
openrbarok = sma(gbar, openbars) == 1 or useocf == false
opengbarok = sma(rbar, openbars) == 1 or useocf == false
//Signals
up = openrbarok and rsidnok
dn = opengbarok and rsiupok
lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 : lot[1]
//Indicator RSI
colbg = showrsi == false ? na : rsi > uplimit ? red : rsi < dnlimit ? lime : na
bgcolor(colbg, transp = 20)
//Trading
if up
strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
if dn
strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
if time > timestamp(toyear, tomonth, today, 23, 59)// or exit
strategy.close_all()