Extreme beidseitige RSI-Trendstrategie
Diese Strategie nutzt den RSI-Indikator, um die Preisentwicklung schnell zu bestimmen.
Die Strategie verwendet einen verbesserten RSI-Indikator, um den überkauften und überverkauften Status der Preise zu beurteilen, kombiniert mit einem Candle Body-Filter, um Lärm zu reduzieren. Es geht lang oder kurz, wenn der RSI in der überkauften oder überverkauften Zone ist und die Candle Body-Größe größer als 1/3 der durchschnittlichen Körpergröße ist. Es schließt Positionen, wenn die Kerze die Richtung umkehrt und der RSI nach dem Auslösen der Handelssignale auf sicherere Ebenen zurückzieht.
Die Strategie reagiert schnell und kann schneller kurzfristige Trends erfassen. In der Zwischenzeit hilft die Körperfilterung, Lärm zu reduzieren und durch falsche Ausbrüche nicht irregeführt zu werden. Sie eignet sich gut für Produkte mit hoher Volatilität und kann höhere Renditen erzielen.
Die Strategie ist sehr empfindlich auf Preisänderungen, leicht durch falsche Signale auf dem Markt fehlgeleitet. Auch können Stop-Losses häufig auf dem Markt mit hoher Volatilität ausgelöst werden. Wir können den Stop-Loss-Bereich lockern und die RSI-Parameter optimieren, um die Wahrscheinlichkeit eines falschen Signals zu senken.
Wir können verschiedene periodische Parameter der Indikatoren testen, um die Strategie zu optimieren und die beste Parameterkombination zu finden. Außerdem kann die Einbeziehung anderer Indikatoren wie die Turtle Trading-Regeln bei der Filterung von Signalen weiter helfen.
Insgesamt ist dies eine effiziente und reaktionsschnelle kurzfristige Strategie. Mit einigen Parametern und Modelloptimierungen hat sie das Potenzial, die Stabilität und Rentabilität weiter zu verbessern.
/*backtest start: 2023-11-03 00:00:00 end: 2023-12-03 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title = "Noro's Fast RSI Strategy v1.1", shorttitle = "Fast RSI str 1.1", 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 Source") 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)) uplimit = 100 - limit dnlimit = limit //Body body = abs(close - open) emabody = ema(body, 30) / 3 //Signals bar = close > open ? 1 : close < open ? -1 : 0 up = bar == -1 and fastrsi < dnlimit and body > emabody dn = bar == 1 and fastrsi > uplimit and body > emabody exit = ((strategy.position_size > 0 and fastrsi > dnlimit) or (strategy.position_size < 0 and fastrsi < uplimit)) and body > emabody //Trading if up 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 dn 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()