Handelsstrategie mit doppeltem gleitendem Durchschnitt

Schriftsteller:ChaoZhang, Datum: 2023-11-10 11:18:38
Tags:

img

Übersicht

Diese Strategie basiert auf dem goldenen Kreuz und dem toten Kreuz von schnellen und langsamen gleitenden Durchschnitten. Wenn der schnelle MA über den langsamen MA überschreitet, gehen Sie lang. Wenn der schnelle MA unter den langsamen MA überschreitet, gehen Sie kurz. Diese Strategie eignet sich für den mittelfristigen bis langfristigen Handel und kann Trendumkehrungen auf dem Markt erfassen.

Strategie Logik

Die Strategie verwendet den exponentiellen gleitenden Durchschnitt (EMA), um die schnellen und langsamen Linien zu berechnen. Die schnelle MA-Länge beträgt 10 Perioden und die langsame MA-Länge 30 Perioden. Die Strategie berechnet zuerst die schnelle EMA und die langsame EMA, zeichnet dann die Linien und zeigt verschiedene farbige Hintergründe, um die Trendrichtung anzuzeigen.

Wenn der heutige Schluß über dem schnellen und der schnelle Ma über dem langsamen Ma liegt, ist der Hintergrund grün, was auf einen Aufwärtstrend hinweist.

In einem Aufwärtstrend, wenn es eine rote Kerze (schließen unter offen) und gestern war auch eine rote Kerze, gehen Sie lang.

In einem Abwärtstrend, wenn es eine grüne Kerze (schließen über offen) und gestern war auch eine grüne Kerze, gehen Sie kurz. Setzen Sie Stop-Loss bei 300 Punkten und profitieren Sie, indem Sie die Long-Position schließen.

Wenn nach Eröffnung einer Position in jeder Richtung die Haltezeit 1008000000 Millisekunden (ca. 2 Wochen) überschreitet, muss die Position geschlossen werden, um einen Stillstand zu vermeiden.

Analyse der Vorteile

  • Das duale EMA-System kann Marktlärm effektiv filtern und Trendumkehrpunkte erkennen
  • Schnelle und langsame MAs in Kombination mit Kerzenlichtfarben liefern zuverlässige Einstiegssignale
  • Stop-Loss- und Take-Profit-Strategien verringern Verluste für einzelne Trades
  • Zwangsschließmechanismus vermeidet große Verluste durch Stillstand

Risikoanalyse

  • Das EMA-System ist weniger empfindlich gegenüber Preisspitzen, kann einige Handelsmöglichkeiten verpassen
  • Falsche Einstellungen von schnellen und langsamen MA-Parametern können zu falschen Signalen führen
  • Ein zu schmaler Stop-Loss-Punkt erhöht das Liquidationsrisiko.
  • Eine unsachgemäße Einstellung der gezwungenen Schließzeit kann zu einem vorzeitigen Ausstieg oder zu langem Halten führen.

Optimierungsrichtlinien

  • Prüfung der Rentabilität von EMA-Systemen unter verschiedenen Parametern zur Optimierung schneller und langsamer MA-Längen
  • Erwägen Sie, andere Indikatoren wie MACD zur Bestätigung hinzuzufügen, um die Signalgenauigkeit zu verbessern
  • Verknüpfung von Stoppverlusten mit täglichen Volumenänderungen
  • Dynamische Anpassung der Zwangsschlusszeit anhand der Marktvolatilität

Schlussfolgerung

Insgesamt ist diese Strategie ziemlich ausgewogen, wobei eine doppelte EMA für Trend- und Candlestick-Filter mit zusätzlichen Regeln verwendet wird, um falsche Signale zu vermeiden.


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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © yeainshukla

//@version=5


strategy('BuyRedSellGreen4H', overlay = true)
greenCandle = close > open
redCandle = open > close

start  = timestamp(2023,9,18,0,00)
end = timestamp(2023,12,31,0,00)


fastLength = input.int(10, title="Fast Average Length")
slowLength = input.int(30, title="Slow Average Length")

averageData = input.source(close, title="Average Data Source")

// Calculate exponential moving averages
fastAverage = ta.ema(averageData, fastLength)
slowAverage = ta.ema(averageData, slowLength)

// Plot averages
plot(fastAverage, color=color.navy, title="Fast EMA")
plot(slowAverage, color=color.fuchsia, linewidth=2, title="Slow EMA")

// Show the moving average trend with a coloured background
backgroundColor = if close > fastAverage and fastAverage > slowAverage
    color.new(color.green, 85)
else if close < fastAverage and fastAverage < slowAverage
    color.new(color.red, 85)
else
    color.new(color.orange, 90)

bgcolor(backgroundColor, title="EMA Background")


if time >= start and time < end
    if(close < open) 
        if(close[1] < open[1])
            strategy.entry("Enter Long", strategy.long)
            strategy.exit("Exit Long", from_entry="Enter Long")
            strategy.close("Enter Short")

    else
        if(close[1] > open[1])
            strategy.entry("Enter Short", strategy.short)
            strategy.exit("Exit Short", from_entry="Enter Short")
            strategy.close("Enter Long")
    if strategy.position_size < 0 or strategy.position_size > 0// short and long is opened.
        if((time - strategy.opentrades.entry_time(strategy.opentrades - 1)) > 1008000000)
            strategy.close("Enter Short")
            strategy.close("Enter Long")

Mehr