Die doppelte gleitende Durchschnittsumkehrstrategie ist eine Handelsstrategie, die die Prinzipien der mittleren Umkehr und der gleitenden Durchschnittsumkehr kombiniert. Sie erzeugt zunächst Umkehrhandelssignale mit der 123 Umkehrmethodik und filtert dann die Signale mit 2/20 exponentiellen gleitenden Durchschnitten, wobei nur Trades getätigt werden, wenn die Signale von beiden übereinstimmen, um die Robustheit zu verbessern.
Die Strategie besteht aus zwei Teilen:
Die 123 Umkehrstrategie stammt aus dem Buch
Diese Strategie verwendet die 2/20 EMA, um den langfristigen Trend zu bestimmen. Wenn der Preis über der 2/20 EMA-Linie liegt, signalisiert er einen Aufwärtstrend. Wenn der Preis unter der 2/20 EMA-Linie liegt, signalisiert er einen Abwärtstrend. Dies filtert falsche Ausbrüche aus.
Die Strategie erzeugt nur Handelssignale, wenn sich das Umkehrsignal 123 mit dem 2/20 EMA-Signal ausrichtet.
Diese Strategie hat folgende Vorteile, da sie kurzfristige Umkehrungen und langfristige Trends kombiniert:
Die 123 Umkehrziele zielen auf überkaufte und überverkaufte Szenarien ab, bei denen häufig signifikante Preisschwankungen auftreten, so dass größere Gewinnziele möglich sind.
Der 2/20 EMA-Filter beseitigt Signale gegen den Trend und verhindert schlechte Trades bei Fakeouts.
Die Kombination zweier sich ergänzender Indikatoren verbessert die Zuverlässigkeit und das Risiko-Rendite-Verhältnis erheblich.
Die klare Funktionalität jeder Komponente macht die Logik intuitiv zu verstehen, zu optimieren und sich an sich ändernde Marktumgebungen anzupassen.
Trotz der Vorteile sind einige Risiken zu berücksichtigen:
Vergangene Leistungen garantieren keine zukünftigen Ergebnisse. Das Ausmaß der tatsächlichen Umkehrung ist unsicher und kann zu Verlusten führen.
Der 2/20 EMA kann nicht vollständig starke Trendmärkte filtern. Kurzfristige Korrekturen können durch den größeren Trend immer noch überwältigt werden.
Die Leistung ist sehr empfindlich gegenüber Parameter-Einstellungen, die durch umfangreiche Rückprüfung und Anpassung an sich ändernde Märkte robust optimiert werden müssen.
Gute kurzfristige Ergebnisse garantieren keine dauerhafte Performance.
Diese Risiken können durch Parameter-Tuning, Stop-Losses, Risikokontrolle usw. verwaltet werden.
Einige Möglichkeiten zur weiteren Optimierung der Strategie:
Versuche verschiedene Parametermengen, um stabilere und ausgeprägtere Umkehrmuster für qualitativ hochwertigere Signale zu finden.
Experimentieren Sie mit verschiedenen MA-Parametern oder führen Sie mehrere MA-Kontrollen durch, um eine genauere Trendbewertung zu erzielen.
Volumen-, Volatilitäts- und andere Filter können eingesetzt werden, um falsche Signale zu reduzieren und die Stabilität zu verbessern.
Techniken des maschinellen Lernens auf großen historischen Datensätzen könnten eine dynamische und robuste Parameter-Tuning ermöglichen.
Intelligente Stop-Loss-Regeln helfen bei der Kontrolle des maximalen Drawdowns und der Risikoposition.
Eine bessere Positionsgröße und Kapitalzuweisung können die Gesamtleistung verbessern.
Die doppelte gleitende Durchschnittsumkehrung ist eine einfache, aber praktische kurzfristige Handelsstrategie. Durch die Kombination von Mittelumkehrung und Trendfolgekonzepten zielt sie darauf ab, von hohen Wahrscheinlichkeitspreisumkehrungen zu profitieren und gleichzeitig falsche Ausbrüche zu vermeiden. Die klare Logik macht es intuitiv zu verstehen, zu optimieren und anzuwenden. Allerdings ist keine Strategie risikofrei.
/*backtest start: 2023-09-18 00:00:00 end: 2023-09-25 00:00:00 period: 15m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 06/08/2021 // This is combo strategies for get a cumulative signal. // // First strategy // This System was created from the Book "How I Tripled My Money In The // Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies. // The strategy buys at market, if close price is higher than the previous close // during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. // The strategy sells at market, if close price is lower than the previous close price // during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50. // // Second strategy // This indicator plots 2/20 exponential moving average. For the Mov // Avg X 2/20 Indicator, the EMA bar will be painted when the Alert criteria is met. // // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// Reversal123(Length, KSmoothing, DLength, Level) => vFast = sma(stoch(close, high, low, Length), KSmoothing) vSlow = sma(vFast, DLength) pos = 0.0 pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1, iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) pos EMA220(Length) => pos = 0.0 xPrice = close xXA = ema(xPrice, Length) nHH = max(high, high[1]) nLL = min(low, low[1]) nXS = iff((nLL > xXA)or(nHH < xXA), nLL, nHH) pos := iff(close > xXA and close > nXS , 1, iff(close < xXA and close < nXS, -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & 2/20 Exponential MA", shorttitle="Combo", overlay = true) line1 = input(true, "---- 123 Reversal ----") Length = input(14, minval=1) KSmoothing = input(1, minval=1) DLength = input(3, minval=1) Level = input(50, minval=1) //------------------------- line2 = input(true, "---- 2/20 Exponential MA ----") LengthMA = input(20, minval=1) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posEMA220 = EMA220(LengthMA) pos = iff(posReversal123 == 1 and posEMA220 == 1 , 1, iff(posReversal123 == -1 and posEMA220 == -1, -1, 0)) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1 , 1, pos)) if (possig == 1 ) strategy.entry("Long", strategy.long) if (possig == -1 ) strategy.entry("Short", strategy.short) if (possig == 0) strategy.close_all() barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )