Dreifacher gleitender Durchschnitt – Trendfolgende Handelsstrategie


Erstellungsdatum: 2023-12-06 16:29:52 zuletzt geändert: 2023-12-06 16:29:52
Kopie: 0 Klicks: 575
1
konzentrieren Sie sich auf
1619
Anhänger

Dreifacher gleitender Durchschnitt – Trendfolgende Handelsstrategie

Überblick

Die Triple Moving Average Trend-Trading-Strategie berechnet den Markttrend und die Kauf- und Verkaufsmomente durch die Berechnung von drei verschiedenen Perioden von Moving Averages. Die Strategie berechnet zunächst die drei Moving Averages von Fast-, Slow- und Trendlinien und kombiniert dann die Gold-Cross- und Dead-Fork-Signale von Fast- und Slow-Linien, um die spezifischen Kauf- und Verkaufsmomente zu bestimmen. Gleichzeitig wird die Strategie mit Trendlinien eingeführt, um die Richtung der Markttrend zu bestimmen.

Strategieprinzip

Die Kernlogik der Triple Moving Average Trend-Trading-Strategie besteht darin, die drei Moving-Average-Indikatoren für den Kauf und Verkauf gleichzeitig zu nutzen. Zuerst setzt die Strategie die Periodenparameter ein und berechnet die Moving-Averages für drei verschiedene Perioden.

Auf dieser Grundlage wurde die Strategie optimiert, um den Markttrend zu beurteilen. Die Einführung einer Trendlinie mit einem längeren Drittel der Periode wurde verwendet, um die Gesamtbewegung des Marktes zu beurteilen. Nur wenn die Aufwärtsbewegung beurteilt wird, werden die Kaufsignale der schnellen und langsamen Linie gehandelt.

Analyse der Stärken

Diese Strategie hat folgende Vorteile gegenüber einer einfachen Doppel-Moving-Average-Strategie:

  1. Die Analyse der Markttrends wird verbessert, und es wird vermieden, dass ein Teil der Verlustgeschäfte gefiltert wird, um das Risiko zu verringern.

  2. Die Verwendung von mehreren Moving Average-Kombinationen erhöht die Zuverlässigkeit und die Gewinnrate des Signals.

  3. Die Zyklusparameter können flexibel angepasst werden, um sich an unterschiedliche Marktbedingungen anzupassen.

  4. Strategie-Regeln sind klar und einfach zu verstehen und zu implementieren. Im Vergleich zu komplexen Strategien wie maschinellem Lernen ist die Implementierung nicht so schwierig.

  5. Indikatoren und Strategien sind sehr verbreitet und werden häufig für die Quantifizierung von Transaktionen verwendet. Sie sind langfristig erprobt und theoretisch sehr zuverlässig.

Risikoanalyse

Obwohl diese Strategie eine Optimierung gegenüber einer einfachen Doppel-Gleichgewichts-Strategie darstellt, gibt es einige Risiken, die beachtet werden müssen:

  1. Drei Durchschnittslinien erhöhen die Komplexität der Strategie und die Gefahr, dass die Optimierung für mehrere Parameter schwierig und die Referenzierung nicht wirksam ist.

  2. Die Durchschnittslinie selbst ist sehr nachlässig, und es kann zu unklaren oder verzögerten Erkennungssignalen kommen.

  3. Trends werden eher subjektiv beurteilt, es besteht ein Risiko für Fehleinschätzungen und es ist unmöglich, einen Abwehrhandel vollständig zu vermeiden.

  4. Strategie-Default-Full-Position-Trading, Probleme mit der unvollständigen Vermögensverwaltung und Risikokontrolle.

  5. Die Strategie basiert auf reinen Regeln und kann nicht in Echtzeit die Parameter für die Anpassung an Marktveränderungen verfolgen.

Die Risiken können durch strenge Rückmeldung, umfassende Parameteroptimierung, die Einführung von Stop-Loss-Mechanismen, Kapitalmanagement-Modulen und die dynamische Anpassung der Parameter in Verbindung mit einem maschinellen Lernmodell optimiert und verbessert werden, um das Handelsrisiko zu verringern.

Optimierungsrichtung

Die Strategie hat noch viel Optimierungsmöglichkeiten, insbesondere in folgenden Bereichen:

  1. Erhöhung der Stop-Loss-Mechanismen. Sie können ein bewegtes Stop-Loss oder ein Vibrationsstop-Loss einrichten, um den maximalen Verlust eines einzelnen Handels effektiv zu kontrollieren.

  2. Einführung eines Positionsmanagement-Moduls. Die Positionsgröße kann dynamisch angepasst werden, um das Risiko zu verringern, basierend auf Kennzahlen wie Rücknahme und Kapitalnutzung.

  3. Mehrfache Zeitrahmen kombiniert. Die Strategie kann in verschiedenen Zeitspannen überprüft werden (z. B. Tageszeit, 60 Minuten usw.), kombiniert mit mehr Zeitdimensionen.

  4. Parameteroptimierung mit Ensemble-Modellen. Parameteroptimierungen können durch Methoden wie Gittersuche und genetische Algorithmen durchgeführt werden. Es können auch mehrere Modelle trainiert werden, um ihre Handelssignale zu kombinieren.

  5. Dynamische Modellierung basierend auf maschinellem Lernen. Automatisierte Optimierung und Modellierung von Modellen durch Technologien wie Reinforcement Learning.

  6. In Kombination mit mehr Indikatoren und Filterregeln. Die Einführung von Indikatoren wie Transaktionsvolumen, Kursdifferenz, Schwankungen usw. zur Filterung von Aktien zur Verringerung der irreführenden Signale.

Zusammenfassen

Diese verbesserte Moving-Average-Crossing-Strategie leitet den Trader im Allgemeinen dazu an, mit dem Gesamtmarkttrend zu handeln, um gegenwärtige Trades zu vermeiden. Dies zeigt, dass eine risikoadjustierte Rendite vielversprechender ist als eine einfache Dual-Moving-Average-Crossing-Strategie. Sie kann jedoch durch Positionsgrößenanpassungen und Anpassungen der Maschinellehrung weiter optimiert werden.

Strategiequellcode
/*backtest
start: 2023-11-28 00:00:00
end: 2023-12-01 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Improved Moving Average Crossover Strategy", overlay=true)

// Define input variables
fast_length = input(9, title="Fast MA Length")
slow_length = input(21, title="Slow MA Length")
trend_length = input(50, title="Trend MA Length")
src = close

// Calculate moving averages
fast_ma = ta.sma(src, fast_length)
slow_ma = ta.sma(src, slow_length)
trend_ma = ta.sma(src, trend_length)

// Plot moving averages on the chart
plot(fast_ma, color=color.blue, title="Fast MA")
plot(slow_ma, color=color.red, title="Slow MA")
plot(trend_ma, color=color.green, title="Trend MA")

// Define trend direction
is_uptrend = ta.crossover(slow_ma, trend_ma)
is_downtrend = ta.crossunder(slow_ma, trend_ma)

// Define buy and sell conditions
buy_condition = ta.crossover(fast_ma, slow_ma) and is_uptrend
sell_condition = ta.crossunder(fast_ma, slow_ma) and is_downtrend

// Execute trades based on conditions
if (buy_condition)
    strategy.entry("Buy", strategy.long)
if (sell_condition)
    strategy.close("Buy")

if (sell_condition)
    strategy.entry("Sell", strategy.short)
if (buy_condition)
    strategy.close("Sell")