Diese Strategie kombiniert Phasen-Crossover-Signale mit mehrjährigen exponentiellen gleitenden Durchschnitten, um Marktkauf- und Verkaufsmöglichkeiten zu erfassen.
Die Kernlogik besteht aus zwei Hauptkomponenten: dem Phase-Crossover-System und dem EMA-Trend-Bestätigungssystem. Das Phase-Crossover-System verwendet einen einfachen gleitenden Durchschnitt (SMA) mit Aufwärtsverschiebung als führende Phase und einen exponentiellen gleitenden Durchschnitt (EMA) mit Abwärtsverschiebung als Verzögerungsphase. Kaufsignale werden generiert, wenn die führende Phase über die Verzögerungsphase überschreitet, und Verkaufssignale, wenn sie darunter überschreitet. Das EMA-Trend-Bestätigungssystem verwendet mehrere Perioden (13/26/50/100/200) exponentielle gleitende Durchschnitte, um die allgemeinen Markttrends zu bestätigen.
Diese Strategie baut ein umfassendes Trend-Folge-Handelssystem auf, indem sie Phase-Crossover- und Multi-Periode-EMA-Systeme kombiniert. Sie verfügt über klare Signale, genaue Trend-Erfassung und eine angemessene Risikokontrolle, während sie auch bestimmte Verzögerungs- und Falschsignalrisiken aufweist. Die Stabilität und Zuverlässigkeit der Strategie kann durch Optimierungen wie das Hinzufügen von Volatilitätsfiltern und Volumenbestätigung weiter verbessert werden. Sie eignet sich für Anwendungen in Markten mit klarem Trend und Händler müssen die Parameter basierend auf spezifischen Marktmerkmalen und individuellen Risikopräferenzen anpassen.
/*backtest start: 2019-12-23 08:00:00 end: 2025-01-08 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Phase Cross Strategy with Zone", overlay=true) // Inputs length = input.int(20, title="Smoothing Length") source = input(close, title="Source") offset = input.float(0.5, title="Offset Amount", minval=0.0) // Offset for spacing // Simulating "Phases" with Smoothed Oscillators lead_phase = ta.sma(source, length) + offset // Leading phase with offset lag_phase = ta.ema(source, length) - offset // Lagging phase with offset // Signal Logic buySignal = ta.crossover(lead_phase, lag_phase) sellSignal = ta.crossunder(lead_phase, lag_phase) // Plot Phases (as `plot` objects for `fill`) lead_plot = plot(lead_phase, color=color.green, title="Leading Phase", linewidth=1) lag_plot = plot(lag_phase, color=color.red, title="Lagging Phase", linewidth=1) // Fill Zone Between Phases fill_color = lead_phase > lag_phase ? color.new(color.green, 90) : color.new(color.red, 90) fill(plot1=lead_plot, plot2=lag_plot, color=fill_color, title="Phase Zone") // Plot Buy and Sell Signals plotshape(buySignal, style=shape.labelup, location=location.belowbar, color=color.new(color.green, 0), title="Buy Signal", size=size.small) plotshape(sellSignal, style=shape.labeldown, location=location.abovebar, color=color.new(color.red, 0), title="Sell Signal", size=size.small) // Strategy Entry and Exit if buySignal strategy.entry("Buy", strategy.long) if sellSignal strategy.close("Buy") //indicator("EMA 13, 26, 50, 100, and 200 with Crossover, Value Zone, and Special Candles", overlay=true) // Define the EMAs ema13 = ta.ema(close, 13) ema26 = ta.ema(close, 26) ema50 = ta.ema(close, 50) ema100 = ta.ema(close, 100) ema200 = ta.ema(close, 200) // Plot the EMAs plot(ema13, color=color.blue, linewidth=2, title="EMA 13") plot(ema26, color=color.red, linewidth=2, title="EMA 26") plot(ema50, color=color.orange, linewidth=2, title="EMA 50") plot(ema100, color=color.green, linewidth=2, title="EMA 100") plot(ema200, color=color.purple, linewidth=2, title="EMA 200") // Crossover conditions uptrend = ta.crossover(ema13, ema26) // EMA 13 crosses above EMA 26 (buy) downtrend = ta.crossunder(ema13, ema26) // EMA 13 crosses below EMA 26 (sell) // Plot buy/sell arrows plotshape(series=uptrend, location=location.belowbar, color=color.green, style=shape.labelup, size=size.small, title="Buy Signal") plotshape(series=downtrend, location=location.abovebar, color=color.red, style=shape.labeldown, size=size.small, title="Sell Signal")