Supertrend in Kombination mit RSI Quantitative Trading Strategie

Schriftsteller:ChaoZhang, Datum: 2024-01-31 17:19:28
Tags:

img

Übersicht

Die Strategie trägt den Namen Dual-drive Strategy. Die Hauptidee besteht darin, den Supertrend und den RSI, zwei leistungsstarke technische Indikatoren, zu kombinieren, um ihre jeweiligen Vorteile voll auszuschöpfen und eine ausgezeichnete quantitative Handelsleistung zu erzielen.

Strategie Logik

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.

Analyse der Vorteile

Die wichtigsten Vorteile dieser Strategie sind:

  1. Supertrend ist gut darin, Markttrendveränderungen für genaue Long- und Short-Einträge zu identifizieren.

  2. Der RSI ist hervorragend darin, überspannte Wendepunkte zu lokalisieren, um eine angemessene Gewinnnahme und einen Stop-Loss zu unterstützen.

  3. Beide ergänzen sich durch ihre Stärken, um bessere Chancen zu erlangen und mehr zu gewinnen.

  4. Die Strategielogik ist einfach und klar, sodass sie auch für weniger erfahrene Anleger leicht verständlich und nachvollziehbar ist.

  5. Robuste Umsetzung mit kontrollierbaren Abnahmen und stabiler Rentabilität.

Risikoanalyse

Trotz dieser Vorzüge gibt es einige Risiken mit der Dual-Drive-Strategie:

  1. 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.

  2. Ein zweiseitiges Handel mit höheren Risiken erfordert strengere Geldmanagement- und Risikokontrolle.

  3. Bei abnormalen Kursschwankungen kann der Stop-Loss mit Hilfe von Backups zur Risikokontrolle scheitern.

  4. Supertrend ist empfindlich gegenüber Parametern, die für verschiedene Märkte angepasst werden müssen.

Optimierungsrichtlinien

Angesichts der Risiken können in folgenden Bereichen Optimierungen vorgenommen werden:

  1. Hinzufügen von Volumen, MACD für zusätzliche Signalfilterung und genauere Eingabe.

  2. Einrichtung eines dynamischen Stop-Loss, um auf Risikoereignisse zu reagieren.

  3. Optimierung der Parameter von Supertrend und RSI für eine bessere Anpassung an verschiedene Märkte.

  4. Einführung von maschinellem Lernen für Parameter und Indikatorenwahl.

  5. Anwendung von Derivaten wie Futures und Optionen zur Absicherung von Risiken.

  6. Änderungen der Positionsgrößenordnung zur Begrenzung von Verlusten und Ziehungen.

Zusammenfassung

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)


Mehr