Die Strategie trägt den Namen
Der Kern der Strategie verwendet die Funktion Change, um die Richtungsänderung des Supertrend-Indikators zu bestimmen, um Handelssignale zu generieren.
Gleichzeitig wird der RSI-Indikator eingeführt, um zu bestimmen, wann Positionen geschlossen werden sollen. Wenn der RSI die festgelegte Überkauflinie durchbricht, werden Long-Positionen geschlossen; wenn der RSI die festgelegte Überverkauflinie durchbricht, werden Short-Positionen geschlossen. Auf diese Weise hilft der RSI, angemessene Stop-Loss-Punkte zu bestimmen, um Gewinne zu erzielen.
Die wichtigsten Vorteile dieser Strategie sind:
Supertrend ist gut darin, Markttrendveränderungen für genaue Long- und Short-Einträge zu identifizieren.
Der RSI ist hervorragend darin, überspannte Wendepunkte zu lokalisieren, um eine angemessene Gewinnnahme und einen Stop-Loss zu unterstützen.
Beide ergänzen sich durch ihre Stärken, um bessere Chancen zu erlangen und mehr zu gewinnen.
Die Strategielogik ist einfach und klar, sodass sie auch für weniger erfahrene Anleger leicht verständlich und nachvollziehbar ist.
Robuste Umsetzung mit kontrollierbaren Abnahmen und stabiler Rentabilität.
Trotz dieser Vorzüge gibt es einige Risiken mit der Dual-Drive-Strategie:
Bei Supertrend und RSI können falsche Signale auftreten, die zu unnötigen Verlusten führen. Parameter können abgestimmt oder zusätzliche Indikatoren zur Überprüfung eingeführt werden.
Ein zweiseitiges Handel mit höheren Risiken erfordert strengere Geldmanagement- und Risikokontrolle.
Bei abnormalen Kursschwankungen kann der Stop-Loss mit Hilfe von Backups zur Risikokontrolle scheitern.
Supertrend ist empfindlich gegenüber Parametern, die für verschiedene Märkte angepasst werden müssen.
Angesichts der Risiken können in folgenden Bereichen Optimierungen vorgenommen werden:
Hinzufügen von Volumen, MACD für zusätzliche Signalfilterung und genauere Eingabe.
Einrichtung eines dynamischen Stop-Loss, um auf Risikoereignisse zu reagieren.
Optimierung der Parameter von Supertrend und RSI für eine bessere Anpassung an verschiedene Märkte.
Einführung von maschinellem Lernen für Parameter und Indikatorenwahl.
Anwendung von Derivaten wie Futures und Optionen zur Absicherung von Risiken.
Änderungen der Positionsgrößenordnung zur Begrenzung von Verlusten und Ziehungen.
Die Dual-Drive-Strategie kombiniert effektiv Supertrend und RSI für eine effiziente Trendfassung und Gewinnentnahme. Im Vergleich zu Einzelindikatorstrategien bietet sie zuverlässigere Signale, kleinere Drawdowns und eine stabile Algorithmus-Handelsleistung. Weitere Optimierungen bei Parameter-Tuning, Signalfilterung und Risikomanagement führen zu noch besseren Ergebnissen.
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 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/ // © alorse //@version=5 strategy("Supertrend + RSI Strategy [Alose]", overlay=true ) stGroup = 'Supertrend' atrPeriod = input(10, "ATR Length", group=stGroup) factor = input.float(3.0, "Factor", step = 0.01, group=stGroup) [_, direction] = ta.supertrend(factor, atrPeriod) // RSI rsiGroup = 'RSI' src = input(title='Source', defval=close, group=rsiGroup) lenRSI = input.int(14, title='Length', minval=1, group=rsiGroup) RSI = ta.rsi(src, lenRSI) // Strategy Conditions stratGroup = 'Strategy' showLong = input.bool(true, title='Long entries', group=stratGroup) showShort = input.bool(false, title='Short entries', group=stratGroup) RSIoverbought = input.int(72, title='Exit Long', minval=1, group=stratGroup, tooltip='The trade will close when the RSI crosses up this point.') RSIoversold = input.int(28, title='Exit Short', minval=1, group=stratGroup, tooltip='The trade will close when the RSI crosses below this point.') entryLong = ta.change(direction) < 0 exitLong = RSI > RSIoverbought or ta.change(direction) > 0 entryShort = ta.change(direction) > 0 exitShort = RSI < RSIoversold or ta.change(direction) < 0 if showLong strategy.entry("Long", strategy.long, when=entryLong) strategy.close("Long", when=exitLong) if showShort strategy.entry("Short", strategy.short, when=entryShort) strategy.close("Short", when=exitShort)