Die Trend Following Exponential Moving Average Strategy ist eine quantitative Handelsstrategie, die auf Trends basiert. Sie verwendet exponentielle gleitende Durchschnitte (EMA) mit verschiedenen Perioden, um potenzielle Ein- und Ausstiegssignale auf dem Krypto-Markt zu identifizieren. Durch das Verfolgen von Crossovers zwischen verschiedenen EMAs können sowohl Pullback- als auch Trend-Eintrittsmöglichkeiten entdeckt werden, um potenzielle Gewinne zu maximieren und gleichzeitig Risiken zu mindern.
Die Strategie verwendet vier EMAs mit Perioden von 8, 12, 24 und 72 bzw. sie dienen als visuelle Leitfäden auf dem Chart für die Trendrichtung. Wenn der Schlusskurs langsamere EMAs durchbricht, signalisiert er Kaufmöglichkeiten. Wenn schnellere EMAs langsamere durchbrechen, signalisiert er Verkaufsmöglichkeiten.
Es gibt zwei Eingangssignale:
Es gibt drei Ausfahrtssignale:
Der größte Vorteil dieser Strategie ist die Fähigkeit, sowohl Pullback- als auch Trendchancen zu nutzen. Mit schnelleren und langsameren EMA-Combos wird verhindert, dass man durch kurzfristige Schwankungen irregeführt wird. EMAs filtern auch Preisgeräusche effektiv aus, um langfristige Trends zu erfassen.
Einige Risiken müssen verhindert werden:
Die folgenden Maßnahmen können dazu beitragen, die oben genannten Risiken zu kontrollieren:
Es gibt Raum für weitere Optimierungen:
Insgesamt nutzt diese EMA-Tracking-Strategie sowohl Trend- als auch Pullback-Möglichkeiten durch EMA-Crossovers für Einträge. Mit hoher Konfigurationsfähigkeit, Einfachheit und effektiver Risikokontrolle hat sie mit Parameter-Tuning und inkrementellen Verfeinerungen ein großes Potenzial für höhere Leistung.
/*backtest start: 2023-10-31 00:00:00 end: 2023-11-30 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/ // © moondevonyt //@version=5 strategy("Cornoflower Trend Following Crypto", overlay=true) // Input Settings lenEma8 = input(8, title="Length of 8 EMA") lenEma12 = input(12, title="Length of 12 EMA") lenEma24 = input(24, title="Length of 24 EMA") lenEma72 = input(72, title="Length of 72 EMA") // Calculate the EMAs ema8 = ta.ema(close, lenEma8) ema12 = ta.ema(close, lenEma12) ema24 = ta.ema(close, lenEma24) ema72 = ta.ema(close, lenEma72) // Entry Conditions pullbackEntry = ta.crossover(close, ema12) and ta.crossover(close, ema24) and ta.crossover(close, ema72) initialEntry = ta.crossover(close, ema72) and ta.crossover(ema8, ema12) and ta.crossover(ema8, ema24) // Exit Conditions profitTarget = 100 // Example target in pips, adjust according to your preference trailingStop = 50 // Example trailing stop value in pips, adjust according to your preference exitCondition = ta.crossunder(ema12, ema24) // Execute Strategy if pullbackEntry strategy.entry("Pullback Entry", strategy.long) if initialEntry strategy.entry("Initial Entry", strategy.long) if strategy.position_size > 0 strategy.exit("Profit Target", "Pullback Entry", limit=close + (profitTarget * syminfo.mintick)) strategy.exit("Trailing Stop", "Pullback Entry", stop=close - (trailingStop * syminfo.mintick), trail_points=trailingStop) strategy.exit("Exit Condition", "Initial Entry", stop=close, when=exitCondition) // Plot EMAs plot(ema8, color=color.yellow, title="8 EMA", linewidth=1, style=plot.style_line) plot(ema12, color=color.purple, title="12 EMA", linewidth=1, style=plot.style_line) plot(ema24, color=color.blue, title="24 EMA", linewidth=1, style=plot.style_line) plot(ema72, color=color.rgb(235, 255, 59), title="72 EMA", linewidth=1, style=plot.style_line)