EMA-Strategie mit ATR-Stop Loss

Schriftsteller:ChaoZhang, Datum: 2023-12-11 16:00:09
Tags:

img

Übersicht

Diese Strategie verwendet das goldene Kreuz der EMA, um Handelssignale zu generieren, dh ein Kaufsignal wird generiert, wenn die schnelle EMA-Linie über die langsame EMA-Linie überschreitet, und ein Verkaufssignal wird generiert, wenn die schnelle EMA-Linie unter die langsame EMA-Linie überschreitet. Sie gehört zu einer typischen Trendfolgestrategie. Gleichzeitig verwendet die Strategie den ATR-Indikator, um einen dynamischen Stop-Loss zu setzen, um Risiken zu kontrollieren und gleichzeitig Gewinne zu erzielen.

Strategieprinzip

  1. Die schnelle EMA-Periode wird als 13 und die langsame EMA-Periode als 48 definiert.
  2. Wenn die schnelle EMA-Linie über die langsame EMA-Linie kreuzt, wird ein Kaufsignal erzeugt; wenn die schnelle EMA-Linie unter die langsame EMA-Linie kreuzt, wird ein Verkaufssignal erzeugt.
  3. Verwenden Sie die Funktionen ta.crossover und ta.crossunder, um das goldene Kreuz und das Todeskreuz der gleitenden Durchschnitte zu bestimmen.
  4. Verwenden Sie den ATR-Indikator zur Berechnung des dynamischen Stop-Loss, der 1,5 mal der ATR-Entfernung vom Schließen entfernt ist.
  5. Intuitives Anzeigen von Handelssignalen und Stop-Loss-Levels durch Farbänderungen, Kauf-/Verkaufsmarkierungen und Stop-Loss-Linien.

Analyse der Vorteile

  1. Die Signale werden auf der Grundlage von EMA-Goldkreuz und Todeskreuz erzeugt, wodurch wichtige Markttrends vermieden werden und die Renditen beträchtlich sind.
  2. Der ATR-Trailing-Stop-Loss gewährleistet einen angemessenen Trendgewinn und kontrolliert gleichzeitig die Abzüge, wodurch ein ausgewogenes Risiko-Rendite-Verhältnis erreicht wird.
  3. Intuitive Signalanzeige und Stop-Loss-Anzeige, einfach zu bedienen, für die meisten Menschen geeignet.
  4. Wenige verstellbare Parameter, leicht zu erfassen und zu optimieren.

Risikoanalyse

  1. Flash-Abstürze können den Stop-Loss auslösen.
  2. Häufige ungültige Signale können auf unterschiedlichen Märkten auftreten.
  3. Bei falschen Parameter-Einstellungen kann es zu einem übermäßig aggressiven Einstieg oder zu einem losen Stop-Loss kommen.
  4. Die EMA- und ATR-Parameter müssen angemessen optimiert werden.

Lösungen:

  1. Entspannen Sie den ATR-Multiplikator angemessen, um etwas Puffer von den jüngsten Höchstwerten zu erhalten.
  2. Überlegen Sie, ob Sie nach Auftreten des Signals eine Bestätigungsmechanik verwenden können, z. B. einen Preis, der das vorherige Hoch überschreitet, usw.
  3. Bei der Optimierung der Parameter sollten verschiedene Marktbedingungen berücksichtigt werden.

Optimierungsrichtlinien

  1. Versuche verschiedene Parameterkombinationen, um optimale Parameter zu finden.
  2. Es sollte in Erwägung gezogen werden, weitere Indikatoren für die Signalfilterung hinzuzufügen, z. B. Volumen-, Volatilitäts- usw. zur Verbesserung der Signalqualität.
  3. Anpassung der EMA-Parameter an die wichtigsten Trends, um die wichtigsten Trends besser zu erfassen.
  4. Überlegen Sie, den ATR-Stop-Loss-Multiplikator dynamisch anzupassen, um den Stop-Range während der Trendmärkte zu erweitern.
  5. Einbeziehung von Algorithmen für maschinelles Lernen zur Adaptivparameteroptimierung.

Schlussfolgerung

Die Strategie ist relativ einfach und einfach zu bedienen. Sie erzeugt Signale auf der Grundlage von EMA-Crossovers, folgt dem Trend und verwendet ATR-Trailing-Stop-Loss, um Risiken effektiv zu kontrollieren. Obwohl es einige falsche Signale geben kann, verfügt sie über starke Fähigkeiten zur Erfassung der wichtigsten Trends und die Renditen sind relativ stabil. Sie eignet sich als grundlegende quantitative Handelsstrategie. Es gibt auch ein großes Potenzial für Verbesserungen durch Parameteroptimierung und Funktionsausweiterungen.


/*backtest
start: 2022-12-04 00:00:00
end: 2023-12-10 00:00:00
period: 1d
basePeriod: 1h
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/
// © byee322

/// This strategy uses the EMA to generate buy and sell signals with a 1.5x ATR stop loss
//@version=5
strategy("EMA Strategy with ATR Stop Loss", overlay=true)

// Define the EMA lengths as input parameters
emaLength1 = input(13, "EMA Length 1")
emaLength2 = input(48, "EMA Length 2")

// Define the moving averages
ema1 = ta.ema(close, emaLength1)
ema2 = ta.ema(close, emaLength2)

// Buy signal: EMA 1 crosses above EMA 2
buy = ta.crossover(ema1, ema2)

// Sell signal: EMA 1 crosses below EMA 2
sell = ta.crossunder(ema1, ema2)

// Define the state variable
state = 0
state := buy ? 1 : sell ? -1 : nz(state[1])

// Change the color of the candles
color = state == 1 ? color.green : state == -1 ? color.red : na

// Plot the colored candles
plotcandle(open, high, low, close, color=color)

// Plot the signals on the chart with text labels
plotshape(buy, style=shape.triangleup, color=color.new(color.green, 50), location=location.belowbar, text="Buy")
plotshape(sell, style=shape.triangledown, color=color.new(color.red, 50), location=location.abovebar, text="Sell")

// Calculate the ATR
atrVal = ta.atr(14)

// Calculate the stop loss level for buy
stopLossBuy = buy ? close[1] - 1.5 * atrVal : na

// Calculate the stop loss level for sell
stopLossSell = sell ? close[1] + 1.5 * atrVal : na

// Plot the stop loss level for buy
plot(stopLossBuy,  color=color.new(color.green, 50), linewidth=3)

// Plot the stop loss level for sell
plot(stopLossSell, color=color.new(color.red, 50), linewidth=3)

if buy
    strategy.entry("Enter Long", strategy.long)
else if sell
    strategy.entry("Enter Short", strategy.short)

Mehr