Diese Strategie verwendet den RSI-Indikator, um festzustellen, ob eine Kryptowährung überverkauft ist, und kauft, wenn der RSI unter 30 liegt, was als überverkauft gilt. Es setzt dann einen Stop-Loss und einen Gewinnpreis. Wenn der Stop-Loss-Preis erreicht wird, wird die Position verlassen. Wenn der Take-Profit-Preis erreicht wird, wird die Position für Gewinn geschlossen.
Die Strategie verwendet den RSI-Indikator, um Einstiegssignale zu identifizieren. Der RSI misst die Geschwindigkeit und Größe der Preisänderungen, um festzustellen, ob ein Vermögenswert überkauft oder überverkauft ist. Der RSI liegt zwischen 0 und 100, wobei über 70 als überkauft und unter 30 als überverkauft betrachtet werden.
Wenn der RSI unter 30 fällt, tritt die Strategie in eine Long-Position ein und setzt auf eine Trendwende.
Nach Eröffnung der Position werden ein Stop Loss und ein Take Profit gesetzt. Der Stop Loss wird um 1% unter dem Einstiegspreis gesetzt. Der Take Profit wird um 7% über dem Einstiegspreis gesetzt.
Wenn der Preis unter den Stop-Loss fällt, wird die Position geschlossen.
Die Verwendung des RSI zur Identifizierung von Überverkaufsbedingungen bietet gute Einstiegspunkte bei relativen Tiefs.
Der enge Stop-Loss kontrolliert das Risiko pro Handel und ermöglicht eine gewisse Abnahme, bevor er gestoppt wird.
Der Take-Profit schließt sich den Gewinnen aus großen Aufwärtsbewegungen an.
Diese Strategie bietet eine starke Auslastungskontrolle und insgesamt geringeres Risiko.
RSI-Überverkaufssignale führen nicht immer zu einer Umkehrung, die Preise könnten weiter sinken, was zu einem Stop-Loss führt.
Der Stop-Loss kann zu eng sein, was zu vorzeitigen Stops führt, wenn der Drawdown groß ist.
Der Gewinn kann zu groß sein, um den Gewinn frühzeitig zu schließen und die Gewinner nicht laufen zu lassen.
Die Strategie könnte sich in unruhigen Märkten mit großen Verlusten konfrontieren.
Die Kombination des RSI mit anderen Indikatoren wie KDJ könnte die Signalgenauigkeit verbessern und falsche Signale vermeiden.
Optimierung von Stop-Loss- und Take-Profit-Prozentsätzen basierend auf der Volatilität verschiedener Münzen.
Verschiedene Zeitrahmenparameter testen, um optimale Kombinationen zu finden.
Optimierung der Positionsgröße basierend auf den Rücktests.
Insgesamt handelt es sich um eine ziemlich robuste Überverkauft-Breakout-Strategie. Positionen nach RSI-Signalen bieten zu relativ niedrigen Preisen gute Einstiegspunkte. Die Stop-Loss- und Take-Profit-Mechanik hilft, Risiken zu kontrollieren und Gewinne zu erzielen. Die Abzüge sind überschaubar, was sie für längerfristige Bestände geeignet macht. Die Parameter können entsprechend veränderten Marktbedingungen für eine verbesserte Performance optimiert werden.
/*backtest start: 2023-09-18 00:00:00 end: 2023-09-25 00:00:00 period: 15m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © brodieCoinrule //@version=4 strategy(shorttitle='Oversold RSI with tight SL',title='Oversold RSI with tight SL Strategy (by Coinrule)', overlay=true, initial_capital = 1000, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 50, commission_type=strategy.commission.percent, commission_value=0.1) //Backtest dates fromMonth = input(defval = 1, title = "From Month", type = input.integer, minval = 1, maxval = 12) fromDay = input(defval = 1, title = "From Day", type = input.integer, minval = 1, maxval = 31) fromYear = input(defval = 2020, title = "From Year", type = input.integer, minval = 1970) thruMonth = input(defval = 1, title = "Thru Month", type = input.integer, minval = 1, maxval = 12) thruDay = input(defval = 1, title = "Thru Day", type = input.integer, minval = 1, maxval = 31) thruYear = input(defval = 2112, title = "Thru Year", type = input.integer, minval = 1970) showDate = input(defval = true, title = "Show Date Range", type = input.bool) start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window window() => true // create function "within window of time" perc_change(lkb) => overall_change = ((close[0] - close[lkb]) / close[lkb]) * 100 // RSI inputs and calculations lengthRSI = 14 RSI = rsi(close, lengthRSI) oversold= input(30) //Entry strategy.entry(id="long", long = true, when = RSI< oversold and window()) //Exit Stop_loss= ((input (1))/100) Take_profit= ((input (7)/100)) longStopPrice = strategy.position_avg_price * (1 - Stop_loss) longTakeProfit = strategy.position_avg_price * (1 + Take_profit) strategy.close("long", when = close < longStopPrice or close > longTakeProfit and window())