Doppelte EMA Golden Cross Langzeitstrategie


Erstellungsdatum: 2024-02-23 12:17:40 zuletzt geändert: 2024-02-23 12:17:40
Kopie: 0 Klicks: 656
1
konzentrieren Sie sich auf
1617
Anhänger

Doppelte EMA Golden Cross Langzeitstrategie

Überblick

Die Doppel-EMA Gold-Cross-Long-Line-Strategie ist eine Trend-Tracking-Strategie, bei der nur mehrere Positionen eröffnet werden. Die Strategie verwendet gleichzeitig drei bewegliche Durchschnittswerte für die kurzfristige EMA, die mittelfristige EMA und die langfristige EMA. Die Eintrittsregel lautet: Der Preis ist höher als der langfristige EMA, während die kurzfristige EMA von unten durch die mittelfristige EMA geht und Gold-Cross bildet.

Strategieprinzip

  1. Die Berechnung der kurzfristigen EMA, der mittelfristigen EMA und der langfristigen EMA kann mit drei EMA-Zyklen konfiguriert werden.

  2. Wenn der Preis höher als die langfristige EMA ist, beweist dies, dass er sich in einem mehrseitigen Trend befindet.

  3. Wenn die kurzfristige EMA die mittlere EMA von unten durchbricht und eine Goldkreuzung bildet, bestätigt dies weiter die Stärkung des mehrspurigen Trends.

  4. Wenn die beiden oben genannten Bedingungen erfüllt sind, wird eine Position eröffnet.

Analyse der Stärken

Der größte Vorteil dieser Strategie ist die Fähigkeit, Trends effektiv zu identifizieren und mit mehrperiodischen EMA-Kombinationen zu urteilen, um zu vermeiden, dass man von kurzfristigen Marktgeräuschen irregeführt wird. Gleichzeitig kann die Stop-Loss-Konfiguration als Risiko-Kontrollmittel die Verluste in einem bestimmten Bereich kontrollieren.

Risikoanalyse

Das Hauptrisiko dieser Strategie besteht in der Überlagerung von Positionen. Die Gefahr, dass die Positionen nicht rechtzeitig geschlossen werden können, wenn sich die Marktlage umkehrt, führt zu einem erhöhten Verlust. Darüber hinaus führt die unsachgemäße EMAS-Zyklus-Einstellung zu häufigen Transaktionen und erhöht die Transaktionskosten.

Optimierungsrichtung

  1. Erhöhung der Anzahl der Positionen und Verringerung der Positionen, wenn die Rücknahme einen bestimmten Prozentsatz erreicht.

  2. Die neue High Stop-Loss-Einstellung wurde eingefügt.

  3. Optimierung der EMAS-Zyklusparameter und Verringerung der Transaktionsfrequenz.

Zusammenfassen

Die Strategie als Ganzes ist eine Strategie für stabile, hochwertige Long-Line-Positionen. Die Fähigkeit, Trends zu erkennen, ist stark, und das Risiko ist unter Kontrolle. Durch weitere Optimierung können bessere stabile Erträge erwartet werden.

Strategiequellcode
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Strategia EMA Long con Opzioni di Uscita Avanzate e Periodi EMA Personalizzabili", overlay=true)

// Parametri di input generali
useVolatilityFilter = input.bool(true, title="Usa Filtro di Volatilità")
atrPeriods = input.int(14, title="Periodi ATR", minval=1)
atrMultiplier = input.float(1.5, title="Moltiplicatore ATR", step=0.1)
useTrailingStop = input.bool(true, title="Usa Trailing Stop")
trailingStopPercent = input.float(15.0, title="Percentuale Trailing Stop", minval=0.1, step=0.1) / 100.0
useEMAExit = input.bool(true, title="Usa Uscita EMA Corta incrocia EMA Media al Ribasso")

// Parametri di input per periodi EMA personalizzabili
emaLongTermPeriod = input.int(200, title="Periodo EMA Lungo Termine", minval=1)
emaShortTermPeriod = input.int(5, title="Periodo EMA Breve Termine", minval=1)
emaMidTermPeriod = input.int(10, title="Periodo EMA Medio Termine", minval=1)

// Calcolo delle EMA con periodi personalizzabili
longTermEMA = ta.ema(close, emaLongTermPeriod)
shortTermEMA = ta.ema(close, emaShortTermPeriod)
midTermEMA = ta.ema(close, emaMidTermPeriod)

// Calcolo ATR e soglia di volatilità
atr = ta.atr(atrPeriods)
atrThreshold = ta.sma(atr, atrPeriods) * atrMultiplier

// Condizione di entrata
enterLongCondition = close > longTermEMA and shortTermEMA > midTermEMA
enterLong = useVolatilityFilter ? (enterLongCondition and atr > atrThreshold) : enterLongCondition

if (enterLong)
    strategy.entry("Enter Long", strategy.long)

// Tracking del prezzo di entrata e del massimo prezzo raggiunto per il trailing stop
var float entryPrice = na
var float maxPriceSinceEntry = na
if (strategy.position_size > 0)
    maxPriceSinceEntry := math.max(na(maxPriceSinceEntry) ? high : maxPriceSinceEntry, high)
    entryPrice := na(entryPrice) ? strategy.position_avg_price : entryPrice
else
    maxPriceSinceEntry := na
    entryPrice := na

// Calcolo del valore del trailing stop
trailStopPrice = maxPriceSinceEntry * (1 - trailingStopPercent)

// Implementazione delle condizioni di uscita
exitCrossUnder = close < longTermEMA
emaCross = ta.crossunder(shortTermEMA, midTermEMA)

if (useEMAExit and emaCross)
    strategy.close("Enter Long", comment="EMA Cross Exit")

if (useTrailingStop)
    strategy.exit("Trailing Stop", from_entry="Enter Long", stop=trailStopPrice)

// Visualizzazioni
plot(longTermEMA, color=color.yellow, title="EMA Lungo Termine")
plot(shortTermEMA, color=color.blue, title="EMA Breve Termine")
plot(midTermEMA, color=color.green, title="EMA Medio Termine")
plot(useVolatilityFilter ? atrThreshold : na, color=color.purple, title="ATR Threshold")
plot(strategy.position_size > 0 ? trailStopPrice : na, color=color.orange, title="Trailing Stop Value", style=plot.style_linebr)