Diese Strategie basiert auf dem Relative Strength Index (RSI), um überkaufte und überverkaufte Situationen zu identifizieren und den Trend zu verfolgen.
Diese Strategie verwendet den RSI-Indikator, um überkaufte und überverkaufte Bedingungen auf dem Markt zu identifizieren. Der RSI wird auf der Grundlage der Preisänderungen über einen bestimmten Zeitraum berechnet. Ein RSI unter 30 gilt als überverkauft, während ein RSI über 70 als überkauft gilt.
Diese Strategie definiert zunächst die RSI-Parameter length=14, overbought=70, oversold=30. Sie berechnet dann den RSI-Wert vrsi basierend auf dem Schlusskurs. Wenn vrsi über die Überkauflinie oder unter die Überverkaufslinie geht, löst sie einen entsprechenden Long- oder Short-Trade aus. Nach dem Eintritt in den Trade wird ein Stop-Loss von etoroStopTicks-Ticks gesetzt. Die Positionen werden geschlossen, wenn innerhalb des Handelsfensters ein Stop-Loss ausgelöst wird.
Auf diese Weise ist die Strategie in der Lage, dem Haupttrend des Marktes zu folgen - bei Überverkauf zu gehen und bei Überkauf zu gehen.
Lösungen:
Die Strategie kann in folgenden Aspekten optimiert werden:
Verschiedene RSI-Perioden und Überkauf-/Überverkaufswerte testen, um optimale Parameter zu finden und falsche Signale zu reduzieren.
Fügen Sie MA, MACD hinzu, um die Trendrichtung zu beurteilen und falsche Signale an Wendepunkten zu vermeiden.
Verwenden Sie ATR, um einen anpassungsfähigen Stop-Loss für eine bessere Verfolgung von Marktschwankungen festzulegen.
Fügen Sie andere Bedingungen wie Ausbruch, Volumenzuwachs zum RSI-Signal hinzu, um die Eingangsgenauigkeit zu verbessern.
Die Strategie erfasst den Trend, indem sie überkaufte und überverkaufte Situationen mithilfe des RSI identifiziert. Im Vergleich zu herkömmlichen Tracking-Stop-Strategien hat sie den Vorteil, den Markt mit Indikatoren zu zeitlichen. Allerdings müssen Probleme wie RSI-Divergenz und Unfähigkeit, eine Trendumkehr zu erkennen, gelöst werden. Weitere Verbesserungen bei Parameteroptimierung, Trendbeurteilung, dynamischem Stop-Loss können die Stabilität und Rentabilität verbessern.
/*backtest start: 2023-10-01 00:00:00 end: 2023-10-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("RSI Etoro Strategy", overlay=true, max_bars_back=2000) // To use: // Capital = capital * leverage // Slippage Ticks: 3, 5 ? (Mainly for spread) // etoroStopTicks: Set it accordingly to the stock (to corresponds to etoro default of 50 % for exemple...) // === INPUT BACKTEST RANGE === FromMonth = input(defval = 12, title = "From Month", minval = 1, maxval = 12) FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) FromYear = input(defval = 2018, title = "From Year", minval = 1995) ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12) ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31) ToYear = input(defval = 9999, title = "To Year", minval = 1995) // === FUNCTION EXAMPLE === start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window window() => time >= start and time <= finish ? true : false // create function "within window of time" length = input( 14 ) overSold = input( 30 ) overBought = input( 70 ) etoroStopTicks = input( 120 ) // 120 because it is approximatively the number of ticks for default SL of 50% at x5 leverage for copper (no fee)... price = close vrsi = rsi(price, length) if (not na(vrsi)) if (crossover(vrsi, overSold)) strategy.entry("RsiLE", strategy.long, comment="RsiLE", when = window()) if (crossunder(vrsi, overBought)) strategy.entry("RsiSE", strategy.short, comment="RsiSE", when = window()) strategy.exit("exit SE", "RsiSE", loss=etoroStopTicks, when = window()) strategy.exit("exit LE", "RsiLE", loss=etoroStopTicks, when = window()) //plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)