Schnelle RSI-Indikator-Ausbruchshandelsstrategie


Erstellungsdatum: 2023-09-12 16:34:21 zuletzt geändert: 2023-09-12 16:34:21
Kopie: 0 Klicks: 797
1
konzentrieren Sie sich auf
1617
Anhänger

Die Strategie verwendet den schnellen RSI-Indikator, um Überkauf-Überverkauf zu identifizieren und umzukehren. Die Strategie kombiniert die K-Linien-Einheit mit kleinen Schwankungen, um zu vermeiden, dass sie festsitzt. Die Strategie strebt eine schnelle Beurteilung der Überkauf-Überverkaufsprozesse an, um die Umkehrmöglichkeiten rechtzeitig zu erfassen.

Die Strategie:

  1. Berechnen Sie den RSI-Schnellwert und legen Sie die Überkauf- und Überverkaufsschwelle fest.

  2. Berechnen Sie den EMA-Mittelwert für die Größe der K-Linien-Einheit, um die Größe der Einheit zu bestimmen.

  3. Wenn der RSI die Überkauflinie überschreitet und die Einheit größer als die Hälfte des Durchschnittswertes ist, macht man mehr. Wenn der RSI die Überverkauflinie überschreitet und die Einheit größer als die Hälfte des Durchschnittswertes ist, macht man leer.

  4. Der RSI schließt, wenn er die Basismarke durchbricht und der Betrag größer als der Durchschnitt ist.

  5. Zusätzliche Überprüfungen können mit Minimal- und Maximalwert durchgeführt werden.

Die Vorteile der Strategie:

  1. Der schnelle RSI beurteilt Überkaufe und Überverkäufe schnell und vermeidet Verzögerungen.

  2. Die photonische Wellen können unsichtbare K-Linien überspringen.

  3. Minimal- und Maximal-Verifizierung verbessert die Signalqualität.

Die Risiken dieser Strategie:

  1. Die Filterwellen der Größe des Objekts filtern möglicherweise ein Teil des effektiven Signals aus.

  2. Der RSI kann bei einem Schwingungsschub ein Falschsignal geben.

  3. Die Risiken von Umkehrgeschäften müssen streng verwaltet werden.

Zusammenfassend lässt sich sagen, dass die Strategie die Kombination von schnellen RSI- und K-Line-Einheitengrößen-Indikatoren nutzt, um Risikokontrolle zu erzielen und gleichzeitig schnell zu überkaufen und zu verkaufen. Sie sollte jedoch auf Filterprobleme achten und gleichzeitig gute Mittelmanagementmethoden einsetzen.

Strategiequellcode
/*backtest
start: 2023-01-01 00:00:00
end: 2023-09-11 00:00:00
period: 2d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(title = "Noro's Fast RSI Strategy v1.3", shorttitle = "Fast RSI str 1.3", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 5)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
rsiperiod = input(7, defval = 7, minval = 2, maxval = 50, title = "RSI Period")
limit = input(30, defval = 30, minval = 1, maxval = 100, title = "RSI limit")
rsisrc = input(close, defval = close, title = "RSI Price")
rb = input(1, defval = 1, minval = 1, maxval = 5, title = "RSI Bars")
usemm = input(false, defval = false, title = "Use Min/Max")
showarr = input(false, defval = false, title = "Show Arrows")
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")

//Fast RSI
fastup = rma(max(change(rsisrc), 0), rsiperiod)
fastdown = rma(-min(change(rsisrc), 0), rsiperiod)
fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))

//Limits
bar = close > open ? 1 : close < open ? -1 : 0
uplimit = 100 - limit
dnlimit = limit

//RSI Bars
ur = fastrsi > uplimit
dr = fastrsi < dnlimit
uprsi = rb == 1 and ur ? 1 : rb == 2 and ur and ur[1] ? 1 : rb == 3 and ur and ur[1] and ur[2] ? 1 : rb == 4 and ur and ur[1] and ur[2] and ur[3] ? 1 : rb == 5 and ur and ur[1] and ur[2] and ur[3] and ur[4] ? 1 : 0
dnrsi = rb == 1 and dr ? 1 : rb == 2 and dr and dr[1] ? 1 : rb == 3 and dr and dr[1] and dr[2] ? 1 : rb == 4 and dr and dr[1] and dr[2] and dr[3] ? 1 : rb == 5 and dr and dr[1] and dr[2] and dr[3] and dr[4] ? 1 : 0

//Body
body = abs(close - open)
emabody = ema(body, 30)

//MinMax
min = min(close, open)
max = max(close, open)

//Signals
up1 = bar == -1 and (strategy.position_size == 0 or close < strategy.position_avg_price) and dnrsi and body > emabody / 4
dn1 = bar == 1 and (strategy.position_size == 0 or close > strategy.position_avg_price) and uprsi and body > emabody / 4
up2 = min < min[1] and bar == -1 and bar[1] == -1 and usemm
dn2 = max > max[1] and bar == 1 and bar[1] == 1 and usemm
exit = ((strategy.position_size > 0 and fastrsi > dnlimit and bar == 1) or (strategy.position_size < 0 and fastrsi < uplimit and bar == -1)) and body > emabody / 2

//Arrows
col = exit ? black : up1 or dn1 ? blue : up2 or dn2 ? red : na
needup = up1 or (up2 and usemm)
needdn = dn1 or (dn2 and usemm)
needexitup = exit and strategy.position_size < 0
needexitdn = exit and strategy.position_size > 0
plotarrow(showarr and needup ? 1 : na, colorup = blue, colordown = blue, transp = 0)
plotarrow(showarr and needdn ? -1 : na, colorup = blue, colordown = blue, transp = 0)
plotarrow(showarr and needexitup ? 1 : na, colorup = black, colordown = black, transp = 0)
plotarrow(showarr and needexitdn ? -1 : na, colorup = black, colordown = black, transp = 0)

//Trading
if up1 or up2
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 00, 00)))

if dn1 or dn2
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 00, 00)))
    
if time > timestamp(toyear, tomonth, today, 00, 00) or exit
    strategy.close_all()