Basierend auf der Crossover-Strategie für schnelle und langsame gleitende Durchschnittswerte


Erstellungsdatum: 2024-02-27 16:06:30 zuletzt geändert: 2024-02-27 16:06:30
Kopie: 1 Klicks: 780
1
konzentrieren Sie sich auf
1617
Anhänger

Basierend auf der Crossover-Strategie für schnelle und langsame gleitende Durchschnittswerte

Überblick

Die schnelle Durchschnittslinie-Kreuzstrategie ist eine einfache Moving-Average-Strategie. Sie verwendet zwei Moving-Averagen, einen schnelleren und einen langsameren, um zu zeigen, dass der Preis steigen kann, wenn der schnelle Moving-Average von unten durch den langsamen Moving-Average geht; und einen niedrigeren, wenn der schnelle Moving-Average von oben durch den langsamen Moving-Average geht, um zu zeigen, dass der Preis fallen kann.

Strategieprinzip

Die Strategie verwendet zwei Moving Averages, einen schnellen und einen langsamen. Insbesondere ist die Länge des schnellen Moving Averages 25 Zyklen und der langsamen Moving Averages 62 Zyklen. Die Strategie erlaubt die Auswahl verschiedener Arten von Moving Averages, darunter SMA, EMA, WMA, RMA und VWMA.

Wenn der schnelle gleitende Durchschnitt von unten den langsamen gleitenden Durchschnitt durchbricht, bedeutet dies, dass der kurzfristige Preis den langfristigen Preis zu durchbrechen beginnt. Dies ist ein typisches Gold-Kreuzsignal, das darauf hinweist, dass der Preis möglicherweise in den Aufwärtskanal eintritt.

So kann man die Kursentwicklung und -richtung anhand der schnellen Durchschnittslinie bestimmen und entsprechend zulegen oder auszugleichen, um so einen Gewinn zu erzielen.

Analyse der Stärken

Diese Strategie hat folgende Vorteile:

  1. Einfach zu verstehen und umzusetzen
  2. Die Parameter sind flexibel eingestellt und können mit schnellen und mittleren Perioden und Typen angepasst werden
  3. Zuverlässiger Indikator, der die Preisentwicklung schrittweise und mittelschrittlich abschätzt
  4. Automatisierung ohne menschliches Urteilsvermögen und weniger psychische Faktoren
  5. Für verschiedene Varianten, zum Beispiel Aktienindizes, Devisen und Kryptowährungen
  6. Optimierbar, die Parameterkombination kann angepasst werden, um eine bessere Konfiguration zu finden
  7. Skalierbar und in Kombination mit anderen Indikatoren oder Strategien

Insgesamt ist die Strategie mit dem schnellen Durchschnittskreuz als Kernhandelssignal, die Fähigkeit, die zukünftige Entwicklung der Preise zu beurteilen, ist stark, und auf der Grundlage der Vorteile der Trendverfolgung kann ein guter Gewinn erzielt werden, der sich für den Einsatz im Kampf lohnt.

Risikoanalyse

Die Strategie birgt auch einige potenzielle Risiken:

  1. Kurz- und mittellinienübergreifende Signale können Fehlmeldungen bedeuten, bei denen es sich nur um eine kurzfristige Korrektur handelt und keine langfristige Trendwende.
  2. Die falsche Auswahl der langen und kurzen Durchschnittslinien kann zu häufigen oder verpassten Handelschancen führen.
  3. Bei starken Preisschwankungen sind die Kurz- und Mittellinien-Kreuzsignale möglicherweise nicht sichtbar.
  4. Hohe Transaktionsgebühren, zu häufige Cross-Signal-Transaktionen, die die Erträge beeinträchtigen
  5. Eine starke Skalierbarkeit birgt auch das Risiko einer Überoptimierung

Diese Risiken können kontrolliert und verbessert werden, indem:

  1. Filterung in Verbindung mit anderen Indikatoren, um Fehlmeldungen zu vermeiden, z. B. Abweichungen von den Messwerten
  2. Anpassung der Mittellinienparameter zur Ermittlung der optimalen Kombination und Verringerung der Wahrscheinlichkeit eines Fehlhandels
  3. In den USA ist es üblich, dass sich die Währungsunion in der Lage befindet, in der Lage zu sein, die Währungsunion zu verändern.
  4. Eine angemessene Lockerung der Stop-Loss-Margen zur Verringerung unnötiger Verluste
  5. Mehrsprachige Rückführung, Risikobewertung und Verhinderung von Überoptimierung

Optimierungsrichtung

Die wichtigsten Optimierungsmöglichkeiten für diese Strategie sind:

  1. Periodische Auswahl von schnellen und langsamen Durchschnittslinien: Die aktuelle Standardparameter sind möglicherweise nicht optimal. Versuchen Sie mit verschiedenen Periodiparametern, um die optimale Konfiguration zu finden

  2. Die Wahl der Art des Moving Averages: Es gibt mehrere Arten von Moving Averages zur Verfügung, um zu testen, welche Art am besten für bestimmte Sorten wirkt.

  3. Kombination mit anderen Indikatoren oder Strategien: Kombination mit Volatilitätsindikatoren, Kennzahlen oder Trend-Tracking-Strategien kann erprobt werden, um die Wirksamkeit zu verbessern

  4. Anpassungsoptimierung der Parameter: Die automatische Anpassung der parallelen Periodenparameter an die Volatilität und Liquidität des Marktes erhöht die Stabilität

  5. AI-Modellunterstützung: Maschinelle Lernalgorithmen, die große Datenmengen analysieren, um automatisch die optimalsten Handelsregeln zu finden

Durch diese Optimierungsmechanismen soll die Ertragsperformance und Stabilität der Strategie weiter verbessert werden.

Zusammenfassen

Die schnelle, langsame und mittlere Linie-Kreuzung ist insgesamt eine sehr praktische Trendverfolgungsstrategie. Sie erfasst die Veränderungsregeln der Preise auf verschiedenen Zeitskalen und beurteilt die möglichen zukünftigen Trends und Richtungen der Preise durch den Durchbruch der schnellen und langsamen Mittlere Linie. Die Strategie ist einfach, einfach zu verstehen und zu implementieren, die Parameter sind flexibel anpassbar, gleichzeitig ist sie zuverlässig, hochgradig automatisiert, breit anwendbar und erweiterbar.

Strategiequellcode
/*backtest
start: 2023-02-20 00:00:00
end: 2024-02-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
//Author @divonn1994

initial_balance = 100
strategy(title='Fast v Slow Moving Averages Strategy', shorttitle = 'Fast v Slow', overlay=true, pyramiding=0, default_qty_value=100, default_qty_type=strategy.percent_of_equity, precision=7, currency=currency.USD, commission_value=0.1, commission_type=strategy.commission.percent, initial_capital=initial_balance)

//Input for number of bars for moving average, Switch to choose moving average type, Display Options and Time Frame of trading----------------------------------------------------------------

fastBars = input.int(25, "Fast moving average length", minval=1)
slowBars = input.int(62, "Slow moving average length", minval=1)
strategy = input.string("EMA", "MA type", options = ["EMA", "VWMA", "SMA", "RMA", "WMA"])

redOn = input.string("On", "Red Background Color On/Off", options = ["On", "Off"], group='Display')
greenOn = input.string("On", "Green Background Color On/Off", options = ["On", "Off"], group='Display')
maOn = input.string("On", "Moving Average Plot On/Off", options = ["On", "Off"], group='Display')

startMonth = input.int(title='Start Month 1-12 (set any start time to 0 for furthest date)', defval=1, minval=0, maxval=12, group='Beginning of Strategy')
startDate = input.int(title='Start Date 1-31 (set any start time to 0 for furthest date)', defval=1, minval=0, maxval=31, group='Beginning of Strategy')
startYear = input.int(title='Start Year 2000-2100 (set any start time to 0 for furthest date)', defval=2011, minval=2000, maxval=2100, group='Beginning of Strategy')

endMonth = input.int(title='End Month 1-12 (set any end time to 0 for today\'s date)', defval=0, minval=0, maxval=12, group='End of Strategy')
endDate = input.int(title='End Date 1-31 (set any end time to 0 for today\'s date)', defval=0, minval=0, maxval=31, group='End of Strategy')
endYear = input.int(title='End Year 2000-2100 (set any end time to 0 for today\'s date)', defval=0, minval=0, maxval=2100, group='End of Strategy')

//Strategy Calculations-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

inDateRange = true

maMomentum = switch strategy
    "EMA" => (ta.ema(close, fastBars) >= ta.ema(close, slowBars)) ? 1 : -1
    "SMA" => (ta.sma(close, fastBars) >= ta.sma(close, slowBars)) ? 1 : -1
    "RMA" => (ta.rma(close, fastBars) >= ta.rma(close, slowBars)) ? 1 : -1
    "WMA" => (ta.wma(close, fastBars) >= ta.wma(close, slowBars)) ? 1 : -1
    "VWMA" => (ta.vwma(close, fastBars) >= ta.vwma(close, slowBars)) ? 1 : -1
    =>
        runtime.error("No matching MA type found.")
        float(na)

fastMA = switch strategy
    "EMA" => ta.ema(close, fastBars)
    "SMA" => ta.sma(close, fastBars)
    "RMA" => ta.rma(close, fastBars)
    "WMA" => ta.wma(close, fastBars)
    "VWMA" => ta.vwma(close, fastBars)
    =>
        runtime.error("No matching MA type found.")
        float(na)
        
slowMA = switch strategy
    "EMA" => ta.ema(close, slowBars)
    "SMA" => ta.sma(close, slowBars)
    "RMA" => ta.rma(close, slowBars)
    "WMA" => ta.wma(close, slowBars)
    "VWMA" => ta.vwma(close, slowBars)
    =>
        runtime.error("No matching MA type found.")
        float(na)

//Enter or Exit Positions--------------------------------------------------------------------------------------------------------------------------------------------------------------------

if ta.crossover(maMomentum, 0)
    if inDateRange
        strategy.entry('long', strategy.long, comment='long')
if ta.crossunder(maMomentum, 0)
    if inDateRange
        strategy.close('long')

//Plot Strategy Behavior---------------------------------------------------------------------------------------------------------------------------------------------------------------------

plot(series = maOn == "On" ? fastMA : na, title = "Fast Moving Average", color = color.new(color.white,0), linewidth=2, offset=1)
plot(series = maOn == "On" ? slowMA : na, title = "Slow Moving Average", color = color.new(color.purple,0), linewidth=3, offset=1)
bgcolor(color = inDateRange and (greenOn == "On") and maMomentum > 0 ? color.new(color.green,75) : inDateRange and (redOn == "On") and maMomentum <= 0 ? color.new(color.red,75) : na, offset=1)