Strategie für einen Rückzug des gleitenden Durchschnitts

Schriftsteller:ChaoZhang, Datum: 2023-12-19 11:55:25
Tags:

img

Übersicht

Die Pullback-Strategie des gleitenden Durchschnitts verfolgt die Überschneidungen von gleitenden Durchschnittspreisen und identifiziert Pullback-Möglichkeiten, um gegentrendige Trades zu tätigen, wenn goldene Kreuzungen auftreten.

Strategie Logik

Der Kern dieser Strategie besteht aus zwei gleitenden Durchschnitten - der 14-Tage-EMA und der 56-Tage-SMA. Sie löst ein Kaufsignal aus, wenn die 14-Tage-EMA von unten über die 56-Tage-SMA überschreitet. Danach blickt die Strategie 20 Tage zurück, um als Unterstützung ein Schwingen-Tief zu finden. In Kombination mit dem Schlusskurs am Crossover-Punkt werden Fibonacci-Pullback-Linien gezeichnet, mit 1.272 Pullback-Linie als Eintritt und 0.618 als Ausgang.

Die wichtigsten Schritte dieser Strategie sind:

  1. Berechnung des 14-Tage-EMA und des 56-Tage-SMA;
  2. Überprüfen Sie, ob die EMA über das goldene Kreuzsignal der SMA kreuzt;
  3. Schau zurück, um eine niedrige Schwung zu finden für Unterstützung;
  4. Fibonacci-Pullback-Linien mit dem Tiefpunkt und dem Crossover-Punkt;
  5. Setzen Sie den Short-Eintrag an der Rückzuglinie 1.272;
  6. Profit-Stopp bei 0,618 Rückzug.

Das oben erwähnte erklärt den wesentlichen Arbeitsablauf und die Logik hinter dieser Pullback-Strategie.

Vorteile

Die wichtigsten Vorteile dieser Pullback-Strategie für gleitende Durchschnitte sind:

  1. Die Strategieidee ist einfach und leicht verständlich.
  2. Nutzen Sie die Fibonacci-Theorie, um bessere Risikokontrollen festzulegen;
  3. Kann kurzfristige Umkehrmöglichkeiten für gute Gewinne erfassen;
  4. Es braucht nur ein gleitendes durchschnittliches goldenes Kreuz, um Einträge auszulösen.

Die Strategie ist auch einfach und unkompliziert umzusetzen.

Risiken

Trotz der Vorteile gibt es für diese Strategie auch gewisse Risiken:

  1. Langes Halten kann zu enormen Verlusten führen, da wir gegentrend-shorting machen.
  2. Pullback-Größe zu gering, um Gewinn zu erzielen;
  3. Übermäßig aggressive Rückziehlinien-Einstellungen.

Um die Risiken zu verringern, können wir einen kurzen Stop-Loss-Zeitrahmen festlegen, um Verluste zu kontrollieren, und die Rückzugslinie optimieren, um vernünftige Gewinnziele zu erreichen.

Möglichkeiten zur Verbesserung

Es gibt noch viel Raum für die Optimierung dieser Pullback-Strategie des gleitenden Durchschnitts:

  1. Versuche verschiedene Parameter-Einstellungen für Elemente wie gleitende Durchschnittszeiten, Lookback-Tage, Fibonacci-Multiplikatoren usw., um ein optimales Ergebnis zu finden;

  2. Hinzufügen von Stop-Loss-Mechanismen wie mehrfachen Stops oder Trailing-Stops zur besseren Kontrolle von Risiken;

  3. Einführung anderer Indikatoren als FILTER, um ungeeignete Marktbedingungen zu vermeiden;

  4. Optimierung der Positionsgröße und der Risikomanagementregeln.

Durch strenge Tests und Optimierungen können erhebliche Verbesserungen dieser Handelsstrategie erzielt werden.

Schlussfolgerung

Die Pullback-Strategie ist eine sehr praktische kurzfristige Handelsstrategie. Sie erfasst Chancen, die den Durchschnitt umkehren, wenn sich die Preise kurzfristig zurückziehen. Die Strategieidee ist einfach und leicht zu verstehen. Es gibt immer noch Risiken, die durch Optimierung und Risikokontrolle angegangen werden müssen. Insgesamt ist dies eine vielversprechende quantitative Strategie, die weiterer Forschung und Anwendung würdig ist.


/*backtest
start: 2022-12-12 00:00:00
end: 2023-12-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("MAC Pullback", overlay=true)

// Setting up timeperiod for testing
startPeriodYear = input(2014, "Backtest Start Year")
startPeriodMonth = input(1, "Backtest Start Month")
startPeriodDay = input(2, "Backtest Start Day")
testPeriodStart = timestamp(startPeriodYear, startPeriodMonth, startPeriodDay, 0, 0)

stopPeriodYear = input(2035, "Backtest Stop Year")
stopPeriodMonth = input(12, "Backtest Stop Month")
stopPeriodDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(stopPeriodYear, stopPeriodMonth, stopPeriodDay, 0, 0)

// Moving Averages
ema14 = ema(close, 14)
ema28 = ema(close, 28)
sma56 = sma(close, 56)

// Plot
plot(ema14, title="ema14", linewidth=2, color=green)
plot(ema28, title="ema28", linewidth=2, color=red)
plot(sma56, title="sma56", linewidth=3, color=blue)


// Strategy
goLong = cross(ema14, sma56) and ema14 > ema28
goShort = cross(ema14, sma56) and ema14 < ema28


// Locate Swing Lows
leftBars = input(20)
rightBars=input(20)
swinglow = pivotlow(close, leftBars, rightBars)
plot(swinglow, style=cross, linewidth=8, color=#00FF00, offset=-rightBars)

if goLong == true and time >= testPeriodStart and time <= testPeriodStop
    // We try to make sure that we're catching the first Pullback after the crossover
    if ema14[12] < sma56[12] 
        pivotpoint = lowest(40)[0] //lowest value of the month as our swing low
        
        // We calculate a Fib 1.272 extension (from the previous swing low to 
        // the crossover long entry's open) and use this as our entry target to short the Pullback
        extensiontarget = ((close[1] - pivotpoint) * 1.27) + pivotpoint
        shorttarget = ((close[1] - pivotpoint) * 0.618) + pivotpoint        
        
        strategy.order("Pullback", strategy.short, 5.0, limit=extensiontarget)
        // I would like to use a trailing stop but for know we just hope to get 
        // filled if the pullback reaches all the way down to the 0.618.
        // We also place a tight stop loss since we trying to short an uptrend
        strategy.exit("Pullback Exit", "Pullback", limit=shorttarget, loss=400)

Mehr