Doppelte gleitende Durchschnitt Trailing Stop Loss Strategie


Erstellungsdatum: 2024-02-05 13:45:51 zuletzt geändert: 2024-02-05 13:45:51
Kopie: 0 Klicks: 565
1
konzentrieren Sie sich auf
1617
Anhänger

Doppelte gleitende Durchschnitt Trailing Stop Loss Strategie

Überblick

Die Strategie erzeugt ein Kaufsignal, wenn die schnelle Linie die langsame Linie durchquert, indem sie zwei verschiedene Parameter berechnet. Die Strategie erzeugt gleichzeitig ein Verkaufsignal, wenn der Preis unter diese Stop-Price fällt. Die Strategie kann die Markttrends effektiv verfolgen und nach dem Gewinn rechtzeitig ein Stop-Loss erzeugen.

Strategieprinzip

  1. Fast Moving Average (FMA): Die Parameter sind 12-Tage-Index-Moving Averages, die schnell auf Preisänderungen reagieren können.
  2. Slow Moving Average (SMA): Der Parameter ist ein 45-Tage-Simple Moving Average, der einen langfristigen Trend darstellt.
  3. Ein Kaufsignal wird erzeugt, wenn ein schneller Moving Average über einen schneller Moving Average durchschritten wird.
  4. Der 15-Tage-Durchschnittswert der realen Schwankungen (ATR) wird als Stop-Loss-Bewertung verwendet.
  5. Die Stop-Loss-Marge wird anhand der ATR-Werte festgelegt (z. B. 6x ATR) und der Stop-Loss-Preis wird in Echtzeit aktualisiert.
  6. Wenn der Preis unter dem Stop-Loss-Preis liegt, wird ein Verkaufssignal erzeugt.

Die Strategie kombiniert Trend-Tracking und Stop-Loss-Management und bietet die Möglichkeit, sowohl die Richtung der mittleren Länge zu verfolgen als auch die Einzelschäden durch Stop-Loss zu kontrollieren.

Analyse der Stärken

  1. Die Kombination von Moving Averages kann Trends effektiv erkennen und die Signalsicherheit erhöhen.
  2. Die dynamische Verfolgung von Stop-Losses ermöglicht eine rechtzeitige Verringerung der Verluste und verhindert die Gewalt der Geldmittel.
  3. Die Kombination von ATR-Stopp macht die Stop-Price vernünftig und verhindert eine Überempfindlichkeit.
  4. Die Strategie ist klar und leicht zu verstehen, die Parameter lassen sich flexibel anpassen.

Risikoanalyse

  1. Der Moving Average liegt im Hintergrund und könnte die Gelegenheit zur Verkürzung verpassen.
  2. Das ist eine sehr schwierige Aufgabe, die sich nicht von einem Unternehmen oder einem Unternehmen selbst übernehmen lässt.
  3. Eine zu empfindliche Stop-Loss-Regelung erhöht die Häufigkeit der Transaktionen und die Gebührenbelastung.
  4. Veränderungen der Aktienfluktuation können die Stabilität der ATR-Parameter beeinflussen.

Die Moving Average-Parameter können entsprechend optimiert werden, oder der ATR-Multiplikator kann angepasst werden, um den Stop-Loss auszugleichen. Es kann auch mit anderen Indikatoren als Filterbedingungen kombiniert werden, um die Einstiegszeit zu verbessern.

Optimierungsrichtung

  1. Test mehr Kombinationen von Parametern und wähle den besten Moving Average.
  2. Die Multiplikatorparameter des ATR-Stopps werden an die Eigenschaften der einzelnen Aktien angepasst.
  3. Erhöhung von Filterbedingungen wie Preis-/Mengenindikatoren, um unnötige Transaktionen zu vermeiden.
  4. Das System kann auch die historische Datenverbindung zwischen den einzelnen Parametern überprüfen.

Zusammenfassen

Die Strategie kombiniert erfolgreich Trend-Tracking und ATR-Dynamische Stop-Loss, die durch Parameteroptimierung an verschiedene Aktienmerkmale angepasst werden können. Die Strategie bildet eine klare Kauf- und Stop-Loss-Grenze, die die Handelslogik einfach und klar macht. Insgesamt ist die binäre Moving Average-Tracking-Stop-Loss-Strategie stabil, einfach und leicht zu optimieren und eignet sich als Basisstrategie für den Aktienhandel.

Strategiequellcode
/*backtest
start: 2024-01-05 00:00:00
end: 2024-02-04 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
//created by XPloRR 24-02-2018

strategy("XPloRR MA-Buy ATR-MA-Trailing-Stop Strategy",overlay=true, initial_capital=1000,default_qty_type=strategy.percent_of_equity,default_qty_value=100)

testStartYear = input(2005, "Start Year")
testStartMonth = input(1, "Start Month")
testStartDay = input(1, "Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(2050, "Stop Year")
testStopMonth = input(12, "Stop Month")
testStopDay = input(31, "Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

testPeriodBackground = input(title="Background", type=bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na
bgcolor(testPeriodBackgroundColor, transp=97)

emaPeriod = input(12, "Exponential MA")
smaPeriod = input(45, "Simple MA")
stopPeriod = input(12, "Stop EMA")
delta = input(6, "Trailing Stop #ATR")

testPeriod() => true

emaval=ema(close,emaPeriod)
smaval=sma(close,smaPeriod)
stopval=ema(close,stopPeriod)
atr=sma((high-low),15)

plot(emaval, color=blue,linewidth=1)
plot(smaval, color=orange,linewidth=1)
plot(stopval, color=lime,linewidth=1)

long=crossover(emaval,smaval) 
short=crossunder(emaval,smaval)

//buy-sell signal
stop=0
inlong=0
if testPeriod()
    if (long and (not inlong[1]))
        strategy.entry("buy",strategy.long)
        inlong:=1
        stop:=emaval-delta*atr
    else
        stop:=iff((nz(emaval)>(nz(stop[1])+delta*atr))and(inlong[1]),emaval-delta*atr,nz(stop[1]))
        inlong:=nz(inlong[1])
        if ((stopval<stop) and (inlong[1]))
            strategy.close("buy")
            inlong:=0
            stop:=0
else
    inlong:=0
    stop:=0
plot(stop,color=green,linewidth=1)