Diese Strategie überwacht den Ausbruch des RSI-Indikators in verschiedenen Bandbreiten, um niedrig zu kaufen und hoch zu verkaufen.
RSI-Periode auf 14 festlegen
RSI-Kaufsignalbereiche festlegen:
RSI-Verkaufssignalbereiche festlegen:
Wenn der RSI den Kaufbereich erreicht, gehen Sie lang:
Wenn der RSI in den Verkaufsbereich kommt, gehen Sie kurz:
Festsetzung des Gewinns auf 2500 Pips und Stop-Loss auf 5000 Pips
Schließung der Position, wenn der RSI den Signalbereich überschreitet
Die Doppelbereichs-Einstellung hilft, Überkauf- und Überverkaufsbedingungen besser zu identifizieren und verpasste Umkehrmöglichkeiten zu vermeiden
Die Einführung von Fixed Take Profit und Stop Loss in Pips verhindert, dass Trends zu sehr verfolgt werden.
Der RSI ist ein ausgereifter Oszillator, mit dem Überkauf- und Überverkaufswerte mit Vorteilen gegenüber anderen Indikatoren ermittelt werden können.
Mit der richtigen Einstellung der Parameter kann diese Strategie effektiv Trendumkehrpunkte erfassen und überschüssige Renditen generieren
RSI-Divergenz kann zu aufeinanderfolgenden Verlusten aus einer anhaltenden Leerposition führen
Festverzinsung und Stop-Loss entsprechen möglicherweise nicht der Marktvolatilität, können nicht gewinnen oder stoppen vorzeitig
Eine unsachgemäße Range-Einstellung kann zu fehlenden Trades oder häufigen unrentablen Trades führen
Diese Strategie stützt sich stark auf die Optimierung von Parametern basierend auf Backtests.
Testwirksamkeit von RSI bei unterschiedlichen Periodenlängen
Optimierung der Kauf- und Verkaufsbereichswerte für die Eigenschaften verschiedener Produkte
Forschungsdynamik Gewinn und Stop-Loss zur Verbesserung der Rentabilität und Verhältnismäßigkeit
Erwägen Sie die Kombination anderer Indikatoren für den Ensemble-Handel, um die Robustheit zu verbessern
Erforschung von Techniken des maschinellen Lernens zur automatischen Optimierung von Parameterbereichen für die Robustheit
Diese Strategie basiert auf den Prinzipien von RSI
/*backtest start: 2023-09-16 00:00:00 end: 2023-10-16 00:00:00 period: 1h basePeriod: 15m 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/ // © Rawadabdo // Ramy's Algorithm //@version=5 strategy("BTC/USD - RSI", overlay=false, initial_capital = 5000) // User input length = input(title = "Length", defval=14, tooltip="RSI period") first_buy_level = input(title = "Buy Level 1", defval=27, tooltip="Level where 1st buy triggers") second_buy_level = input(title = "Buy Level 2", defval=18, tooltip="Level where 2nd buy triggers") first_sell_level = input(title = "Sell Level 1", defval=68, tooltip="Level where 1st sell triggers") second_sell_level = input(title = "Sell Level 2", defval=80, tooltip="Level where 2nd sell triggers") takeProfit= input(title="target Pips", defval=2500, tooltip="Fixed pip stop loss distance") stopLoss = input(title="Stop Pips", defval=5000, tooltip="Fixed pip stop loss distance") lot = input(title = "Lot Size", defval = 1, tooltip="Trading Lot size") // Get RSI vrsi = ta.rsi(close, length) // Entry Conditions long1 = (vrsi <= first_buy_level and vrsi>second_buy_level) long2 = (vrsi <= second_buy_level) short1= (vrsi >= first_sell_level and vrsi<second_sell_level) short2= (vrsi >= second_sell_level) // Entry Orders // Buy Orders if (long1 and strategy.position_size == 0) strategy.entry("Long", strategy.long, qty=lot, comment="Buy") if (long2 and strategy.position_size == 0) strategy.entry("Long", strategy.long, qty=lot, comment="Buy") // Short Orders if (short1 and strategy.position_size == 0) strategy.entry("Short", strategy.short,qty=lot, comment="Sell") if (short2 and strategy.position_size == 0) strategy.entry("Short", strategy.short,qty=lot, comment="Sell") // Exit our trade if our stop loss or take profit is hit strategy.exit(id="Long Exit", from_entry="Long",qty = lot, profit=takeProfit, loss=stopLoss) strategy.exit(id="Short Exit", from_entry="Short", qty = lot, profit=takeProfit, loss=stopLoss) // plot data to the chart hline(first_sell_level, "Overbought Zone", color=color.red, linestyle=hline.style_dashed, linewidth = 2) hline(second_sell_level, "Overbought Zone", color=color.green, linestyle=hline.style_dashed, linewidth = 2) hline(first_buy_level, "Oversold Zone", color=color.red, linestyle=hline.style_dashed, linewidth = 2) hline(second_buy_level, "Oversold Zone", color=color.green, linestyle=hline.style_dashed, linewidth = 2) plot (vrsi, title = "RSI", color = color.blue, linewidth=2)