RSI-Fibonacci-Retracement-Strategie

Schriftsteller:ChaoZhang, Datum: 2023-12-29 14:51:43
Tags:

img

Übersicht

Die RSI-Fibonacci-Retracement-Strategie erzeugt Handelssignale, die auf dem Crossover zwischen dem RSI-Indikator und den festgelegten Fibonacci-Retracement-Niveaus basieren und Positionen einnehmen, wenn Umkehrungen in überkauften und überverkauften Bereichen auftreten.

Grundsätze

Diese Strategie wird basierend auf dem Crossover zwischen dem RSI-Indikator und den Fibonacci-Retracement-Levels implementiert. Zuerst berechnen Sie den Wert des RSI-Indikators, setzen Sie dann die Fibonacci-Retracement-Level (38,2%, 50%, 61,8%). Wenn der RSI-Indikator über das Fibonacci-Level überschreitet, wird ein Kaufsignal generiert. Wenn er darunter überschreitet, wird ein Verkaufssignal generiert.

Der RSI-Indikator wird verwendet, um zu beurteilen, ob der Markt überkauft oder überverkauft ist. Der RSI über 70 zeigt einen überkauften Bereich an und unter 30 zeigt einen überverkauften Bereich an. Wenn der RSI vom überkauften Bereich in die Fibonacci-Retracement-Zone fällt, ist es ein Umkehrsignal, um lang zu gehen. Wenn der RSI vom überverkauften Bereich in die Fibonacci-Retracement-Zone steigt, ist es ein Umkehrsignal, um kurz zu gehen.

Die Fibonacci-Retracement-Levels in dieser Strategie dienen hauptsächlich als Referenz und bilden Handelssignale mit RSI. In Trendmärkten berührt das fortgesetzte Laufen nach Retracements oft Fibonacci-Retracement-Levels, die wie Unterstützungen und Widerstände wirken.

Vorteile

  1. Die Verwendung des RSI zur Identifizierung von überkauften und überverkauften Formationen, kombiniert mit dem Fibonacci-Retracement-Bereich, um Umkehrmöglichkeiten zu erfassen, kann einige Geräusche ausfiltern.

  2. Der Trend kann mittelfristige und langfristige Trends erfassen.

  3. Kann sich an unterschiedliche Marktsituationen anpassen, indem er den Fibonacci-Retracementbereich anpasst.

Risiken

  1. Lange oder kurze Positionen können lange dauern und erfordern eine ausreichende Kapitalunterstützung.

  2. Der Retracement-Prozess kann erneut Höhen und Tiefen aufweisen, was einen Stop-Loss zur Kontrolle der Risiken erfordert.

  3. Eine unsachgemäße Einstellung der Parameter kann zu einem übermäßigen Handel oder zu einer unzureichenden Nutzung von Umkehrmöglichkeiten führen.

Optimierungsrichtlinien

  1. Überlegen Sie, andere Indikatoren zu integrieren, um den Eintrittszeitpunkt zu filtern, wie MACD, Bollinger Bands, um die Trendrichtung zu beurteilen.

  2. Parameter wie RSI-Perioden und Fibonacci-Retracement-Levels können optimiert werden.

  3. Setzen Sie einen dynamischen Stop-Loss ein, um Gewinne zu erzielen.

Zusammenfassung

Die RSI-Fibonacci-Retracement-Strategie hat im Allgemeinen eine gute Stabilität als Trendfolgestrategie. Im Vergleich zu einzelnen RSI-Strategien kann das Hinzufügen des Fibonacci-Retracement-Bereichs einige laute Trades effektiv filtern. Durch Parameteroptimierung kann es sich an verschiedene Handelsinstrumente in verschiedenen Märkten anpassen. Abschließend ist dies eine zuverlässige und einfach zu optimierende Strategieidee.


/*backtest
start: 2022-12-22 00:00:00
end: 2023-12-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// (c) ReduX_o, 2019. All rights reserved.
//
// How to trade:
// The indicator is more reliable in longer time frames
// Choose a fibonacci level as reference 
// Buy when the RSI line turns green
// Sell when the RSI line turns red



//@version=4
strategy("RSI Fibonacci Levels", overlay=false, initial_capital=2000, currency=currency.USD, commission_value=0.1, slippage=0, commission_type=strategy.commission.percent, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100)


len = input(14, minval=1, title="Rsi Periods")
f1 = input(title="Fibonacci Level", defval="38.2", options=["38.2", "50", "61.8"])

// === BACKTEST RANGE ===
FromYear = input(defval=2010, title="From Year", minval=2010)
FromMonth = input(defval=1, title="From Month", minval=1)

ToYear = input(defval=2020, title="To Year", minval=2010)
ToMonth = input(defval=1, title="To Month", minval=1)


src = hl2
fi= (f1 == "38.2") ? 38.2 : (f1 == "50")? 50 : 61.8


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)


//***************************************************
rcolor = rsi >= fi ? color.lime : color.red

plot(rsi, title="RSI", color=rcolor, transp=0)
band1 = hline(78.6, color=color.red, linestyle= hline.style_solid,  editable= false)
band0 = hline(23.6, color=color.lime, linestyle= hline.style_solid, editable= false)
band2 = hline(61.8, color=color.gray, editable= false)
band3 = hline(50, color=color.black, editable= false)
band4 = hline(38.2, color=color.gray, editable= false)
band5 = hline(fi, color=color.blue, linestyle= hline.style_solid, editable= false)

strategy.entry("LE", strategy.long, comment="L", when=rsi >= fi )
strategy.entry("SE", strategy.short, comment="S", when=rsi < fi )




Mehr