Strategie zur Umkehrung des doppelten gleitenden Durchschnitts

Schriftsteller:ChaoZhang, Datum: 2023-09-26 15:27:58
Tags:

Übersicht

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.

Strategie Logik

Die Strategie besteht aus zwei Teilen:

  1. 123 Umkehrstrategie

Die 123 Umkehrstrategie stammt aus dem Buch How I Tripped My Money in the Futures Market. Sie basiert auf der Idee, dass, wenn der Schlusskurs über 2 Tage von einem hohen auf ein niedriges Niveau fällt und der 9-tägige langsame Stochastisch unter 50 liegt, ein Umkehrpunkt für einen Long signalisiert wird.

  1. 2/20 Exponentielle gleitende Durchschnittsstrategie

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.

Analyse der Vorteile

Diese Strategie hat folgende Vorteile, da sie kurzfristige Umkehrungen und langfristige Trends kombiniert:

  1. Erfasst hohe Gewinnchancen aus kurzfristigen Umkehrungen

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.

  1. 2/20 EMA-Filter verhindert falsches Ausbruchrisiko

Der 2/20 EMA-Filter beseitigt Signale gegen den Trend und verhindert schlechte Trades bei Fakeouts.

  1. Doppelbedingte Bedingungen verbessern das Risiko-Lohn-Profil

Die Kombination zweier sich ergänzender Indikatoren verbessert die Zuverlässigkeit und das Risiko-Rendite-Verhältnis erheblich.

  1. Klare Logik macht die Optimierung intuitiv

Die klare Funktionalität jeder Komponente macht die Logik intuitiv zu verstehen, zu optimieren und sich an sich ändernde Marktumgebungen anzupassen.

Risikoanalyse

Trotz der Vorteile sind einige Risiken zu berücksichtigen:

  1. Umkehrungen werden sich vielleicht nicht vollziehen.

Vergangene Leistungen garantieren keine zukünftigen Ergebnisse. Das Ausmaß der tatsächlichen Umkehrung ist unsicher und kann zu Verlusten führen.

  1. Trends können sich ausdehnen

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.

  1. Parameteroptimierung ist entscheidend

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.

  1. Langfristige Wirksamkeit unsicher

Gute kurzfristige Ergebnisse garantieren keine dauerhafte Performance.

Diese Risiken können durch Parameter-Tuning, Stop-Losses, Risikokontrolle usw. verwaltet werden.

Möglichkeiten zur Verbesserung

Einige Möglichkeiten zur weiteren Optimierung der Strategie:

  1. Optimierung der Umkehrparameter

Versuche verschiedene Parametermengen, um stabilere und ausgeprägtere Umkehrmuster für qualitativ hochwertigere Signale zu finden.

  1. Optimierung der gleitenden Durchschnittssysteme

Experimentieren Sie mit verschiedenen MA-Parametern oder führen Sie mehrere MA-Kontrollen durch, um eine genauere Trendbewertung zu erzielen.

  1. Mehr Filter hinzufügen

Volumen-, Volatilitäts- und andere Filter können eingesetzt werden, um falsche Signale zu reduzieren und die Stabilität zu verbessern.

  1. Implementieren dynamischer Optimierung

Techniken des maschinellen Lernens auf großen historischen Datensätzen könnten eine dynamische und robuste Parameter-Tuning ermöglichen.

  1. Einbeziehung von Stop-Loss-Strategien

Intelligente Stop-Loss-Regeln helfen bei der Kontrolle des maximalen Drawdowns und der Risikoposition.

  1. Optimierung des Geldmanagements

Eine bessere Positionsgröße und Kapitalzuweisung können die Gesamtleistung verbessern.

Schlussfolgerung

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 )

Mehr