Trendverfolgungsstrategie basierend auf dem RSI-Indikator und dem ZigZag-Indikator


Erstellungsdatum: 2024-02-22 16:15:18 zuletzt geändert: 2024-02-22 16:15:18
Kopie: 0 Klicks: 944
1
konzentrieren Sie sich auf
1617
Anhänger

Trendverfolgungsstrategie basierend auf dem RSI-Indikator und dem ZigZag-Indikator

Überblick

Die Strategie ist speziell für Kryptowährungsmärkte mit 15-Minuten-Zeitrahmen (z. B. ETHUSD/T, BTCUSD/T usw.) konzipiert. Die Strategie bestimmt die Trendrichtung durch die Kombination des RSI-Indikators, um Überkauf und Überverkauf zu beurteilen, und des ZigZag-Indikators, um die Preisbewegungen zu beurteilen.

Strategieprinzip

Die zentrale Logik dieser Strategie besteht darin, die Preisentwicklung mit dem RSI-Indikator und dem ZigZag-Indikator gleichzeitig zu beurteilen. Insbesondere beurteilt der RSI-Indikator, ob der Preis überkauft oder überverkauft ist, und der ZigZag-Indikator, ob ein großer Sprung des Preises in einem bestimmten Prozentsatz stattfindet. Wenn beide gleichzeitig ein Handelssignal senden, beurteilen wir, dass ein Trendwechsel stattfindet, der umgekehrt werden kann.

Was den RSI betrifft, so setzen wir die Überkauflinie auf 75 und die Überverkauflinie auf 25. Wenn die RSI-Linie von unten nach oben über 25 geht, wird der Kurs von Überverkauf zu Verkauf gehalten, und wenn die RSI-Linie von oben nach unten über 75 geht, wird der Kurs von Verkauf zu Verkauf gehalten.

In Bezug auf den ZigZag-Indikator setzen wir den Schwellenwert für die Breite der Preisbewegungen auf 1%. Die ZigZag-Indikatorlinie sendet ein Signal aus, wenn der Preis um mehr als 1% stark schwankt. In Verbindung mit der Trendentscheidung können wir den Wendepunkt der Preisentwicklung erkennen.

Wenn der Binärindikator signalisiert, dass die vorherige Trendrichtung positiv ist und der RSI jetzt überkauft und ZigZag zeigt eine Leerlauföffnung, dann beurteilen wir den Trend als hoch und können einen Leerlauf in Betracht ziehen. Umgekehrt, wenn die vorherige Trendrichtung negativ ist und der RSI jetzt überkauft und der ZigZag zeigt eine Leerlauföffnung, dann beurteilen wir den Trend als tief und können mehr tun. Mit dieser Logik können wir einen Trend-Tracking-Operation durchführen.

Strategische Vorteile

Der größte Vorteil dieser Strategie besteht darin, dass die Kombination von zwei Indikatoren die falsche Signalwirkung effektiv filtern und die Signalqualität verbessern kann. Es ist leicht, falsche Signale zu erzeugen, wenn man sich nur auf einen einzelnen Indikator verlässt, während die Strategie durch die Verifizierung des RSI-Indikators und des ZigZag-Indikators einige unwirksame Signale filtern kann, wodurch die Handelswahrscheinlichkeit verbessert wird.

Ein weiterer Vorteil ist die Flexibilität bei der Parameter-Einstellung. Die RSI- und ZigZag-Parameter in dieser Strategie sind individuell anpassbar und wir können die Parameter an die Merkmale der verschiedenen Märkte anpassen, um die beste Wirkung zu erzielen. Dies gibt der Strategie eine große Flexibilität.

Strategisches Risiko

Das Hauptrisiko dieser Strategie besteht in der Wahrscheinlichkeit, dass der Indikator ein falsches Signal aussendet. Obwohl wir die Biparameter-Kombinationsprüfung verwenden, kann es immer noch vorkommen, dass der Indikator in Zeiten starker Marktschwankungen ausfällt, was zu einem Fehlgeschäft führt. Darüber hinaus beeinträchtigt die falsche Einstellung der Parameter die Effektivität der Strategie.

Um das Risiko zu verringern, können wir die Positionshaltezeit angemessen verkürzen und die Verluste rechtzeitig einstellen. Gleichzeitig ist die Optimierung der Parameter-Einstellungen sehr wichtig und muss die Markteigenschaften berücksichtigt werden. Bei unüblichen Märkten ist eine manuelle Intervention erforderlich, um den Handel zu stoppen.

Richtung der Strategieoptimierung

Diese Strategie kann in folgenden Bereichen optimiert werden:

  1. Durch die Erweiterung der Komponente und die Einführung weiterer Komponenten für die Gesamtbeurteilung, wie KDJ, MACD usw., können die Signale weiter gefiltert werden.

  2. Einführung von Machine Learning-Algorithmen zur automatischen Optimierung der Parameter-Einstellungen durch KI-Technologie und Anpassung an Marktveränderungen.

  3. Erweiterung der Anpassungs-Stop-Mechanismen, die die Stop-Loss-Distanz dynamisch an die Marktschwankungen anpassen.

  4. Optimierung der Positionsverwaltung, z. B. die Verteilung von Fonds nach Trends, wie z. B. starke oder schwache.

  5. Setzen Sie eine Alternativstrategie ein, um automatisch in unüblichen Märkten zu wechseln.

Zusammenfassen

Die Strategie ist eine typische Trend-Tracking-Strategie, die sich auf die Kombination von RSI und ZigZag konzentriert, um die Kurswende zu bestimmen. Die Strategie hat den Vorteil, dass die Kombination von zwei Indikatoren die Fehlsignale filtert und die Handelseffizienz erhöht. Die Strategie muss das Risiko eines Indikatorversagens berücksichtigen und die Strategie durch Parameteroptimierung, Stop-Loss-Optimierung und Positionsoptimierung weiter verbessern.

Strategiequellcode
/*backtest
start: 2024-01-22 00:00:00
end: 2024-02-21 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/
// © SoftKill21
//@version=4
strategy("Crypto ZigZag RSI strategy 15min",overlay=true)
length =input(5, title="RSI Length")
overSold = input(25)
overBought= input(75)

p =close

vrsi = rsi(p, length)
var bool long = na
var bool short = na

long :=crossover(vrsi,overSold) 
short := crossunder(vrsi,overBought)

var float last_open_long = na
var float last_open_short = na

last_open_long := long ? close : nz(last_open_long[1])
last_open_short := short ? close : nz(last_open_short[1])


entry_value =last_open_long
entry_value1=last_open_short

//
ZZPercent = input(1, title="Minimum % Change", type=input.float)
r1Level=entry_value
s1Level=entry_value1
trend = 0
trend := na(trend[1]) ? 1 : trend[1]
LL = 0.0
LL := na(LL[1]) ? s1Level : LL[1]
HH = 0.0
HH := na(HH[1]) ?r1Level : HH[1]

Pi = ZZPercent * 0.01
zigzag = float(na)

if trend > 0  
    if r1Level >= HH  
        HH := r1Level
        HH
    else
        if s1Level < HH * (1 - Pi)
            zigzag :=r1Level[1]
            trend := -1
            LL := s1Level
            LL
else
   
    if s1Level <= LL 
        LL := s1Level
        LL
    else
        if r1Level > LL * (1 + Pi)
            zigzag := s1Level[1]
            trend := 1
            HH := s1Level
            HH


shortc=crossunder(trend,0)
longc=crossover(trend,0)


longa =input(true)
shorta=input(false)

if(longa)
    strategy.entry("long",1,when=longc)
    strategy.close("long",when=shortc)
if(shorta)
    strategy.entry("short",0,when=shortc)
    strategy.close("long",when=longc)