Handelsstrategie für den Handel mit doppelten gleitenden Durchschnitten

Schriftsteller:ChaoZhang, Datum: 2023-11-06 10:27:00 Uhr
Tags:

img

Übersicht

Diese Strategie bestimmt Markttrends, indem sie die Crossover-Situationen zwischen dem 9-Tage-Gleitdurchschnitt (MA), dem 20-Tage-MA und dem 200-Tage-MA berechnet. Sie verbindet die klassische Idee des Dual-MA-Crossovers mit dem 200-Tage-MA, der den langfristigen Trend misst. Dies ist eine relativ stabile und zuverlässige Trendhandelsstrategie.

Strategie Logik

Diese Strategie beurteilt hauptsächlich die Preisentwicklung durch Berechnung der Beziehungen zwischen dem 9-Tage-MA, dem 20-Tage-MA und dem 200-Tage-MA.

Erstens berechnet es den 9-Tage-MA und den 20-Tage-MA. Wenn der 9-Tage-MA über den 20-Tage-MA überschreitet, ist es ein Kaufsignal. Wenn der 9-Tage-MA unter den 20-Tage-MA überschreitet, ist es ein Verkaufssignal. Dies ist die grundlegendste Urteilsregel des Dual-MA-Crossovers.

Zweitens berechnet es den 200-Tage-MA als Indikator zur Beurteilung langfristiger Trends. Wenn der 20-Tage-MA über den 200-Tage-MA überschreitet, signalisiert er eine langfristige bullische Sicht. Wenn der 20-Tage-MA unter den 200-Tage-MA überschreitet, signalisiert er eine langfristige bärische Sicht.

Schließlich kombiniert es die Beziehungen zwischen dem 9-Tage-MA, dem 20-Tage-MA und dem 200-Tage-MA, um spezifische Einstiegs- und Ausstiegspunkte zu bestimmen.

Durch die Berechnung der Kreuzungssituationen zwischen mehreren Marktmärkten nutzt diese Strategie die Trendverfolgungsfähigkeit der Marktmärkte voll aus, um kurz- und langfristige Preisbewegungen effektiv zu bestimmen und somit die Kauf- und Verkaufsaktionen zu steuern.

Analyse der Vorteile

  1. Die Verwendung eines Dual-MA-Crossovers kann kurzfristige Preisentwicklungen effektiv erfassen und Gewinne generieren.

  2. Das Hinzufügen eines 200-Tage-MA-Urteils verhindert, dass bei langfristigen Abwärtstrends lange Zeit gehandelt wird und die Verluste verringert werden.

  3. Die Kombination mehrerer MA-Beziehungen macht die Signale zuverlässiger und verhindert ineffektive Trades.

  4. Die MA-Crossover-Signale sind klar und leicht zu beurteilen und eignen sich für manuelle Handelspraktiken.

  5. Der einfache und saubere Code ist leicht zu verstehen und zu implementieren, gut für Quant Trading Anfänger.

  6. Flexibilität bei der Optimierung, z. B. Anpassung von MA-Perioden oder Hinzufügung anderer Indikatoren.

Risikoanalyse

  1. MA-Strategien sind empfindlich auf Parameter-Ausrichtung angepasst, verschiedene MA-Perioden können sehr unterschiedliche Ergebnisse erzeugen.

  2. Der Dual-MA-Crossover beurteilt nur mittelfristige kurzfristige Trends und kann langfristige große Trends übersehen.

  3. Crossover-Signale können sich verzögern und können nicht vollständig vermeiden, dass Trades verloren gehen.

  4. Häufiger Handel erhöht die Provisions- und Schlupfkosten und verringert das tatsächliche Gewinnpotenzial.

  5. Der zu einfache Code kann im Live-Handel unterdurchschnittlich funktionieren, was eine Optimierung erfordert.

Optimierungsrichtlinien

  1. Versuche verschiedene Kombinationen von MA-Perioden, um die optimalen Parameter zu finden.

  2. Hinzufügen von Stop-Loss-Strategien zur strikten Kontrolle des Handelsverlustbetrags.

  3. Überlegen Sie, ob die Positionsgröße sich anhand der sich ändernden Marktbedingungen ändert.

  4. Optimieren Sie Einstiegssignale, z. B. Hinzufügen von Momentum-Bestätigungen.

  5. Optimieren Sie die Ausgänge, indem Sie angemessene Gewinnsätze festlegen.

  6. Fügen Sie mehr Indikatoren hinzu, um Trends und Pullback-Wahrscheinlichkeiten zu beurteilen.

  7. Fügen Sie maschinelle Lernmodelle hinzu, um komplexere Handelslogik zu entdecken.

Schlussfolgerung

Diese Strategie kombiniert die klassischen Ideen des doppelten MA-Crossovers und des langfristigen MA-Trendurteils, um Handelsentscheidungen unter Verwendung von MA-Trend-nachfolgenden Eigenschaften zu leiten. Sie hat eine einfache Logik und ist leicht zu verstehen und umzusetzen, gut für Quant-Trading-Anfänger. Allerdings ist sie parametersensitiv und hat nachlassende Probleme, die weitere Optimierung und Verbesserung erfordern. Insgesamt bietet diese Strategie einen grundlegenden Rahmen, der zur Entwicklung leistungsfähigerer Handelssysteme erweitert werden kann. Anleger können geeignete Elemente auswählen, um die Strategie basierend auf ihren Bedürfnissen hinzuzufügen und kontinuierlich zu optimieren, um langfristige überschüssige Renditen im quantitativen Handel zu erzielen.


/*backtest
start: 2023-10-29 00:00:00
end: 2023-11-05 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=1
strategy("Dieyson Swingtrade EMA 20+200 and bar & line color", overlay=true)


//bar color rules
Dgbar = close>close[1] and ema(close,20)>ema(close[1],20)
Drbar = close<close[1] and ema(close,20)<ema(close[1],20)

//Barcolors
barcolor(Dgbar ? green : na)
barcolor(Drbar ? red : na)

//MM09 Colorful

MMgreen9 = ema(close,9)>ema(close[1],9) and ema(close,20)>ema(close[1],20)
MMred9 = ema(close,9)<ema(close[1],9) and ema(close,9)<ema(close[1],9)
col8 = (MMgreen9 ? color(green,0) : na)
col28 = (MMred9 ? color(red,0) : na)
col38 = (not MMgreen9 and not MMred9 ? color(black,0) : na)

//plot(ema(close,9), color=col8, style=line, linewidth=1)
//plot(ema(close,9), color=col28, style=line, linewidth=1)
//plot(ema(close,9), color=col38, style=line, linewidth=1)

//MM20 Colorful

MMgreen = ema(close,20)>ema(close[1],20)
MMred = ema(close,20)<ema(close[1],20)
col = (MMgreen ? color(green,0) : na)
col2 = (MMred ? color(red,0) : na)
col3 = (not MMgreen and not MMred ? color(yellow,0) : na)
col4 = color(black,0)
plot(ema(close,20), color=col, style=line, linewidth=2)
plot(ema(close,20), color=col2, style=line, linewidth=2)
plot(ema(close,20), color=col3, style=line, linewidth=2)
plot(ema(close,200), color=col4, style=line, linewidth=3)
//plot(vwap(15), color(white,0), style=line, linewidth=3)
//plot(cross(ema(close,9), ema(close,20)) ? ema(close,9) : na, style = cross,color=fuchsia, transp=0, linewidth = 4)
plot(cross(ema(close,20), ema(close,200)) ? ema(close,20) : na, style = cross,color=fuchsia, transp=0, linewidth = 4)

c = crossover(ema(close,9), ema(close,20)) and ema(close,9) > ema(close,20)
// c = crossover(close, ema (close,9) and ema(close,9) > ema(close[1],9))
v = crossunder(close, ema (close,9))

strategy.entry("COMPRA", strategy.long,when=c)
strategy.entry("VENDA", strategy.short,when=v)




Mehr