Diese Strategie ist ein quantitativer Handelsansatz, der auf dem Crossover zwischen dem Detrended Price Oscillator (DPO) und seinem 4-Perioden-Exponential Moving Average (EMA) basiert. Das Kernkonzept besteht darin, Markttrendveränderungen zu erfassen, indem die Beziehung zwischen DPO und seiner 4-Perioden-EMA verglichen wird, um Kauf- und Verkaufssignale zu generieren. Die Strategie ist besonders effektiv in Zeitrahmen von 4 Stunden und darüber, insbesondere bei Verwendung von Heikin Ashi-Kerzen.
Die Kernlogik umfasst folgende Schlüsselschritte: 1. Berechnen Sie den 24-Perioden-Simple Moving Average (SMA) als Basiswert 2. Verschieben Sie die SMA um (Länge/2+1) Perioden nach vorne, um den verschobenen SMA-Wert zu erhalten 3. Ziehen Sie den verdrängten SMA vom Schlusskurs ab, um den DPO-Wert zu erhalten 4. Berechnen Sie die 4-Perioden-EMA des DPO 5. Erzeugen Sie ein Kaufsignal, wenn der DPO seine 4-Perioden-EMA überschreitet 6. Erzeugen Sie ein Verkaufssignal, wenn der DPO unter die 4-Perioden-EMA fällt
Die DPO-EMA Trend Crossover Strategie ist eine strukturell einfache, aber wirksame quantitative Handelsstrategie. Durch die Kombination des abgeschwächten Oszillators mit gleitenden Durchschnitten erfasst die Strategie effektiv Markttrendänderungen. Während inhärente Risiken bestehen, behält die Strategie durch angemessene Optimierungs- und Risikomanagementmaßnahmen ihren praktischen Wert. Für mittelfristige bis langfristige Händler stellt diese Strategie einen lebensfähigen Handelsansatz dar, der sich lohnt.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-04 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("DPO 4,24 Strategy", shorttitle="DPO Strategy", overlay=true) // Define a fixed lookback period and EMA length length = 24 ema_length = 4 // Calculate the Simple Moving Average (SMA) of the closing prices sma = ta.sma(close, length) // Calculate the shifted SMA value shifted_sma = sma[length / 2 + 1] // Calculate the Detrended Price Oscillator (DPO) dpo = close - shifted_sma // Calculate the 4-period Exponential Moving Average (EMA) of the DPO dpo_ema = ta.ema(dpo, ema_length) // Generate buy and sell signals based on crossovers buy_signal = ta.crossover(dpo, dpo_ema) sell_signal = ta.crossunder(dpo, dpo_ema) // Overlay buy and sell signals on the candlestick chart plotshape(series=buy_signal, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY") plotshape(series=sell_signal, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL") // Strategy entry and exit conditions if (buy_signal) strategy.entry("Buy", strategy.long) if (sell_signal) strategy.close("Buy")