RSI-Range-Breakout-Strategie

Schriftsteller:ChaoZhang, Datum: 2023-10-11
Tags:

Übersicht

Die RSI-Range-Breakout-Strategie ist eine typische Trendfolgestrategie. Sie verwendet den Relative Strength Index (RSI) als den wichtigsten technischen Indikator, um nach Breakout-Möglichkeiten zu suchen, wenn sich der RSI in überkauften oder überverkauften Niveaus befindet, mit dem Ziel, dem Trend zu folgen.

Strategie Logik

Die Strategie stützt sich hauptsächlich auf den RSI-Indikator, um die Überkauf- und Überverkaufswerte auf dem Markt zu bestimmen. Die RSI-Rechnungsformel lautet: RSI = (Durchschnittlicher Up-Value / (Durchschnittlicher Up-Value + Durchschnittlicher Down-Value)) x 100. Der Durchschnittliche Up-Value ist der einfache gleitende Durchschnitt der Close-Up-Amplituden in den letzten N Tagen. Der Durchschnittliche Down-Value ist der einfache gleitende Durchschnitt der Close-Down-Amplituden in den letzten N Tagen.

Wenn der RSI höher als die überkaufte Linie ist (Standard 80), zeigt er an, dass der Markt in einem Überkaufszustand ist. Wenn der RSI niedriger als die Überverkaufszone ist (Standard 35), zeigt er an, dass der Markt in einem Überverkaufszustand ist. Die Strategie sucht nach kurzen Chancen, wenn der RSI die Überkauflinie bricht, und nach langen Chancen, wenn der RSI die Überverkaufszone bricht.

Speziell verwendet die Strategie zwei SMA-Linien, um den Trend des RSI-Indikators zu bestimmen. Wenn die schnellere SMA-Linie die langsamere SMA-Linie bricht, während der RSI die Überverkaufszone durchbricht, gehen Sie lang. Wenn die schnellere SMA-Linie die langsamere SMA-Linie bricht, während der RSI die überkaufte Linie bricht, gehen Sie kurz. Die Strategie setzt auch Stop-Loss und Take-Profit-Linien, um Risiken zu kontrollieren.

Vorteile

  • Verwenden des RSI-Indikators zur Bestimmung von Überkauf- und Überverkaufswerten mit einer gewissen Trendbeurteilung
  • Kombination mit doppelten SMA-Linien zur Vermeidung falscher Ausbrüche durch RSI-Oszillationen
  • Stop-Loss und Take-Profit setzen, um Einzelverluste zu kontrollieren
  • Einbruch ohne häufiges Öffnen und Schließen

Risiken und Lösungen

  • RSI-Indikator hat Verzögerungseffekt, kann Trendumkehrpunkte verpassen
    • Anpassung der RSI-Parameter entsprechend zur Optimierung der Indikatorempfindlichkeit
  • Überkaufte und überverkaufte Zonen nicht korrekt eingestellt, Gewinnspanne schwieriger
    • Anpassung der Parameter an unterschiedliche Märkte, um eine angemessene Einstellung zu gewährleisten
  • Stopp-Loss-Punkt zu nahe, leicht durch Übernachtungsfluktuation ausgeschaltet
    • Vergrößern Sie die Stoppverlustdistanz angemessen, um nicht eingeschlossen zu werden
  • Die Gewinnsätze sind zu gering, um den Trend zu erfassen.
    • Anpassung der Gewinnspanne flexibel anhand der Marktvolatilität

Optimierungsrichtlinien

  • Kombination mit anderen Indikatoren zur Bestimmung des Eintrittszeitraums, wie KDJ, MACD usw., um Probleme mit RSI-Verzögerungen zu vermeiden
  • Hinzufügen von Beurteilungen über den wichtigsten Trend, um den Handel gegen den Trend zu vermeiden
  • Optimieren Sie Stop-Loss- und Take-Profit-Strategien, wie zum Beispiel Trailing Stop, Moving Take-Profit usw.
  • Unterscheidung der Parametereinstellungen für verschiedene Produkte, Festlegung angemessener Parameter auf der Grundlage der Merkmale des Marktes
  • Hinzufügen von Positionsmanagementstrategien, Anpassung von Positionen durch Hinzufügen von Aufträgen

Zusammenfassung

Die RSI-Range-Breakout-Strategie ist eine typische Trendfolgestrategie insgesamt. Sie bestimmt Handelssignale durch den RSI-Indikator, filtert Signale mit doppelten SMA-Linien und setzt Stop-Loss und Take-Profit, um Risiken zu kontrollieren.


/*backtest
start: 2023-09-10 00:00:00
end: 2023-10-10 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4

//strategy("Strategy RSI | Fadior", shorttitle="Strategy RSI", pyramiding=10, calc_on_order_fills=false, initial_capital=10000, default_qty_type=strategy.percent_of_equity, currency="USD", default_qty_value=100, overlay=false)
 
len = input(3, minval=1, title="RSI Length") 
threshLow = input(title="Treshold Low", defval=35)
threshHigh = input(title="Treshold High", defval=80)
rsiLength1 = input(title="RSI Smoothing 1", defval=3)
rsiLength2 = input(title="RSI Smoothing 2", defval=5)
SL = input(title="Stop loss %", type=float, defval=.026, step=.001)
TP = input( defval=300)

// 3 40 70 2
// 14 40 70 2 16 0.05 50

src = close
  
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))

plot(sma(rsi,rsiLength2), color=orange)
plot(sma(rsi,rsiLength1), color=green)

band1 = hline(threshHigh)
band0 = hline(threshLow)
fill(band1, band0, color=purple, transp=90)

strategy = input(type=bool, title="Long only ?", defval=true)
strategy.risk.allow_entry_in(strategy ? strategy.direction.long : strategy.direction.all)

longCondition = sma(rsi,rsiLength1) < threshLow and sma(rsi,rsiLength2) > sma(rsi,rsiLength2)[1] 

if (longCondition)
    strategy.entry("Long", strategy.long) //, qty=10)
    strategy.exit("Close Long", "Long", stop=src-close*SL, profit=TP)
    
shortCondition = sma(rsi,rsiLength1) > threshHigh and sma(rsi,rsiLength2) < sma(rsi,rsiLength2)[1]
if (shortCondition)
    strategy.entry("Short", strategy.short) //, qty=10)
    strategy.exit("Close Short", "Short") //, stop=src-close*SL, profit=TP)


Mehr