
Die zweiseitige RSI-Linienreaktion ist eine Trendverfolgungsstrategie, bei der zwei verschiedene Zeiträume des RSI verwendet werden, um Überkauf und Überverkauf zu identifizieren. Die Strategie zielt darauf ab, einen Gewinn zu erzielen, indem sie nach einem Überkauf überschreitet und nach einem Überkauf aufhört. Die Strategie verwendet einen glatten asymmetrischen Moving Average, den RSI-Indikator und einen Farbfilter für die Positionöffnung, um Handelsmöglichkeiten zu identifizieren.
Die Strategie verwendet zwei RSI-Indikatoren mit unterschiedlichen Perioden, um einen auf dem 5-Minuten-Chart und einen auf dem 1-Stunden-Chart zu platzieren. Für den RSI-Indikator wird ein Überverkauf unter 30 und ein Überkauf über 70 erkannt.
Es verfolgt den RSI-Wert und sucht nach Zuständen, in denen der RSI in einer überverkauften oder überkauften Zone liegt, was auf einen expandierenden Überverkauf oder Überkauf hinweist.
Darüber hinaus verwendet es einen glatten asymmetrischen Moving Average, der die roten oder grünen K-Linien eines bestimmten Zeitraums überprüft, um die Richtung des Trends zu bestätigen, bevor er in den Handel eintritt. Der Farbfilter für die Position hilft, falsche Signale zu vermeiden.
Wenn die Bedingungen für den RSI und den gleitenden Abweichungen und den Moving Averages erfüllt sind, macht die Strategie nach dem Überverkauf einen Plus, nach dem Überkauf einen Minus und der Wettpreis kehrt zurück in die Gewinnlinie.
Die Bank muss am Ende des Tages ihre Positionen auszahlen, um keine Übernachtungen zu vermeiden.
Die BSI-RSI-Linienwiederholungsstrategie verwendet eine Regulierungsmethode, um die Handelsdynamik zu regulieren. Durch die Kombination von zwei Zeiträumen, Überkauf-Überverkauf-Indikatoren, K-Line-Form-Analyse und Positionsfilter zielt darauf ab, Gelegenheiten für eine hohe Wahrscheinlichkeit einer Linienwiederkehr zu identifizieren. Strenge Risikomanagement und sorgfältige Positionskontrolle helfen, Rücknahmen zu kontrollieren, während sie profitabel sind.
/*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()