RSI-Alligator-Trendstrategie


Erstellungsdatum: 2024-01-29 14:40:07 zuletzt geändert: 2024-01-29 14:40:07
Kopie: 0 Klicks: 770
1
konzentrieren Sie sich auf
1617
Anhänger

RSI-Alligator-Trendstrategie

Überblick

Die RSI-Fisch-Trend-Strategie ist eine Kombination aus Fischer-Indikatoren, die auf dem RSI basiert, um Trends ein- und auszugeben. Sie verwendet drei Mittelwerte - den Aufschwung der Fische, die Zahnlinie und die Lippenlinie - und baut den RSI mit unterschiedlichen Perioden auf.

Strategieprinzip

Die RSI-Fisch-Trend-Strategie verwendet die RSI-Anzeige, um die drei Moving Averages der Fisch-Anzeige zu erstellen. Die spezifischen Einstellungen sind wie folgt:

  • Die oberste Linie: die RSI-Linie mit 5 Perioden
  • Zahnlinie: RSI-Linie mit 13 Perioden
  • Lip-Linie: RSI-Linie mit 34 Zyklen

Die Logik des Signals lautet:

Mehrköpfige Signale: Mehr machen, wenn die Lippenlinie über der Zahnseite getragen wird und die Zahnseite gleichzeitig über der Zahnseite liegt.

Leerkopfsignal: Leerkopf, wenn die Lippen unterhalb der Zahnlinie und die Zähne unterhalb der Zahnlinie sind.

Die Strategie setzt sowohl Stop-Loss- als auch Stop-Stop-Bedingungen:

  • Der Stop-Loss ist auf 10% des Einstiegspreises festgelegt.
  • Der Stop-Stop ist auf 90% des Einstiegspreises eingestellt.

Analyse der Stärken

Die RSI-Trend-Haken-Strategie hat folgende Vorteile:

  1. Die Verwendung von Whale-Line-Indikatoren, um Trends zu erkennen, kann effektiv Marktlärm filtern und wichtige Trends festlegen.
  2. In Kombination mit einem mehrperiodischen RSI verhindern Sie falsche Durchbrüche und erhöhen die Signalsicherheit
  3. Setzen Sie angemessene Stop-Loss-Konditionen, um die Strategie zu stabilisieren
  4. Strategie ist klar und verständlich, Parameter sind einfach zu setzen und die Festplatte ist einfach zu bedienen
  5. Sie können gleichzeitig mehr als nur einen Job machen, beide Richtungen der Trends berücksichtigen und flexibel sein

Risikoanalyse

Die RSI-Trendfisch-Strategie birgt auch folgende Risiken:

  1. Die Kreuzung der Zahn- und Lippenlinien kann zu einem falschen Durchbruch führen, was zu unnötigen Verlusten führt. Die Periodiparameter können entsprechend angepasst werden, um die Wahrscheinlichkeit eines falschen Durchbruchs zu verringern.

  2. Die Stop-Loss-Einstellungen können zu radikal sein und die Wahrscheinlichkeit eines unnötigen Stop-Losses ist höher. Der Stop-Loss-Bereich kann entsprechend gelockert oder andere Bedingungen als Voraussetzung für die Aktivierung von Stop-Loss hinzugefügt werden.

  3. Wenn die Situation so schlimm ist, dass die Garantie nicht wirksam ist oder nicht wirksam ist, ist eine manuelle Intervention erforderlich, um die Garantie rechtzeitig zu stoppen.

  4. Bei häufigem Multi-Room-Switching ist der Druck auf die Transaktionskosten größer. Die Zugangsbedingungen können entsprechend gelockert werden, um unnötige Wiederholungen zu reduzieren.

Optimierungsrichtung

Die RSI-Haken-Trendstrategie kann in folgenden Bereichen optimiert werden:

  1. Optimierung der Parameter-Einstellungen für die Wadenfischerei, Anpassung der Parameter-Perioden und Suche nach der optimalen Kombination der Parameter

  2. Optimierung der eingehenden bedingungslogischen Filtersignale, wie z. B. neue Handelsvolumenindikatoren

  3. Optimierung der Stop-Loss-Strategie, um sie besser an die Lage und die Höhe der Sicherheiten anzupassen

  4. Erhöhung der Notfallbearbeitung und Vermeidung der Offenlegung von Unregelmäßigkeiten

  5. Erhöhung der Algorithmen für die Eröffnung von Positionen, Kontrolle des Anteils der Einzelleistungen und Vermeidung von Risiken

Zusammenfassen

Die RSI-Fisch-Trend-Strategie ist insgesamt eine zuverlässige, einfach zu bedienende Trend-Tracking-Strategie. Sie verwendet die Fischer-Indikatoren, um die Richtung der Tendenz zu bestimmen, in Kombination mit den RSI-Indikatoren, um die Referenztürme zu setzen, um die Trends effektiv zu sperren und einen vernünftigen Ausgangspunkt zu setzen. Die Strategie selbst verfügt außerdem über eine starke Flexibilität und Skalierbarkeit, die es wert ist, in der Praxis angewendet und nachträglich optimiert zu werden.

Strategiequellcode
/*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"}]
*/

// @version=3
// RSI Alligator
// Forked from Author: Reza Akhavan
// Updated by Khalid Salomão

strategy("RSI Alligator Strategy", overlay=false, pyramiding=0, default_qty_type=strategy.cash, default_qty_value=25000, initial_capital=25000, commission_type=strategy.commission.percent, commission_value=0.15, slippage=3)

// === TA LOGIC ===
overBought = input(70, minval=0, maxval=100, title="Over bought")
overSold = input(30, minval=0, maxval=100, title="Over sold")
jawPeriods = input(5, minval=1, title="Jaw Periods")
jawOffset = input(0, minval=0, title="Jaw Offset")
teethPeriods = input(13, minval=1, title="Teeth Periods")
teethOffset = input(0, minval=0, title="Teeth Offset")
lipsPeriods = input(34, minval=1, title="Lips Periods")
lipsOffset = input(0, minval=0, title="Lips Offset")

jaws = rsi(close, jawPeriods)
teeth = rsi(close, teethPeriods)
lips = rsi(close, lipsPeriods)
plot(jaws, color=green, offset=jawOffset, title="Jaw")
plot(teeth, color=red, offset=teethOffset, title="Teeth")
plot(lips, color=blue, offset=lipsOffset, title="Lips")

//
// === Signal logic ===
// 
LONG_SIGNAL_BOOLEAN  = crossover(teeth, lips) and jaws > teeth
SHORT_SIGNAL_BOOLEAN = crossunder(teeth, lips) and jaws < teeth

// === INPUT BACKTEST DATE RANGE ===
strategyType = input(defval="Long Only", options=["Long & Short", "Long Only", "Short Only"])

FromMonth = input(defval = 7, 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 = 2017)
ToMonth   = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 2020, title = "To Year", minval = 2017)

start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        
window()  => true

// === STRATEGY BUY / SELL ENTRIES ===

// TODO: update the placeholder LONG_SIGNAL_BOOLEAN and SHORT_SIGNAL_BOOLEAN to signal
// long and short entries
buy()  => window() and LONG_SIGNAL_BOOLEAN
sell() => window() and SHORT_SIGNAL_BOOLEAN

if buy()
    if (strategyType == "Short Only")
        strategy.close("Short")
    else
        strategy.entry("Long", strategy.long, comment="Long")

if sell()
    if (strategyType == "Long Only")
        strategy.close("Long")
    else
        strategy.entry("Short", strategy.short, comment="Short")
        

// === BACKTESTING: EXIT strategy ===
sl_inp = input(10, title='Stop Loss %', type=float)/100
tp_inp = input(90, title='Take Profit %', type=float)/100

stop_level = strategy.position_avg_price * (1 - sl_inp)
take_level = strategy.position_avg_price * (1 + tp_inp)

strategy.exit("Stop Loss/Profit", "Long", stop=stop_level, limit=take_level)