Strategie basierend auf der Kreuzung kurzfristiger und langfristiger gleitender Durchschnitte


Erstellungsdatum: 2024-02-22 15:36:49 zuletzt geändert: 2024-02-22 15:36:49
Kopie: 0 Klicks: 649
1
konzentrieren Sie sich auf
1617
Anhänger

Strategie basierend auf der Kreuzung kurzfristiger und langfristiger gleitender Durchschnitte

Überblick

Die Strategie ist eine einfache Moving-Average-Crossing-Trading-Strategie, die auf einer Kreuzung von kurz- und langfristigen Moving-Averages basiert. Sie verwendet 34- und 89-Zyklen-Moving-Averagen und beobachtet ihre Kreuzung als Kauf- und Verkaufssignal in der Frühstückszeit. Es wird ein Kaufsignal erzeugt, wenn der kurzfristige Moving-Average den langfristigen Moving-Average von unten durchbricht; es wird ein Verkaufsignal erzeugt, wenn er von oben durchbricht.

Strategieprinzip

Die Kernlogik der Strategie basiert auf der Kreuzung von kurz- und langfristigen Moving Averages als Handelssignale. Insbesondere definiert die Strategie die kurz- und langfristigen einfachen Moving Averages (SMAs) mit 34 und 89 Zyklen. Die Kreuzung der beiden SMAs wird nur in der Frühstückszeit (08:00 - 10:00) beobachtet. Wenn ein kurzfristiger SMA den langen SMA von unten durchbricht, wird der Markt als aufwärtstrend angesehen und somit ein Kaufsignal erzeugt.

Nach Erhalt des Kauf- oder Verkaufssignals geht die Strategie in die Position ein und setzt eine Ausgangsposition, d.h. nach dem Eintritt mit der angegebenen Anzahl von K-Linien ((3 Default-Linien) wird ein Aktiver Stop-Loss-Austritt durchgeführt. Auf diese Weise kann ein Teil der Gewinne gesperrt werden, um zu verhindern, dass die Verluste weiter ausdehnen.

Es ist zu beachten, dass die Strategie nur in der Frühzeit ein Kreuzungssignal erkennt. Dies liegt daran, dass in dieser Zeit die Marktvolumen größer ist und die Reliabilität der Trendwechselsignale höher ist. In anderen Zeiten ist die Marktvolatilität größer und kann zu Fehlsignalen führen.

Analyse der Stärken

Die Strategie hat folgende Vorteile:

  1. Die Verwendung eines einfachen, universellen Moving-Average-Kreuzungsregels ist leicht verständlich und für Anfänger geeignet

  2. Erkennen Sie nur in den Morgenstunden, in denen es mehr hochwertige Signale gibt, und filtern Sie falsche Signale in anderen Zeiten aus

  3. Stop-Loss-Bedingungen, die eine zeitnahe Stop-Loss ermöglichen, einen Teil des Gewinns sperren und das Risiko von Verlusten verringern

  4. Mehr anpassbare Parameter, die sich an den Markt und den persönlichen Stil anpassen lassen

  5. Erweiterbar, um auf Basis dieses Rahmens komplexere Strategien für andere Kennzahlen zu entwickeln

Risikoanalyse

Die Strategie birgt auch einige Risiken, die sich hauptsächlich aus folgenden Aspekten ergeben:

  1. Der Moving Average selbst ist stark rückläufig und kann kurzfristige Preiswendepunkte verpassen.

  2. Verlassen sich auf einfache Indikatoren, die in bestimmten Marktumgebungen fehlschlagen können (Trendschwankungen, Bilanzierung von Segmenten usw.)

  3. Die falsche Einstellung der Stop-Loss-Position kann zu unnötigen Verlusten führen.

  4. Die falsche Einstellung der Parameter (beispielsweise der Moving-Average-Periode, der Positions-Periode usw.) beeinflusst die Strategie.

Entsprechende Lösungen:

  1. Erhöhung der Sensibilität für kurzfristige Veränderungen in Kombination mit anderen Vorreiterindikatoren

  2. Erhöhung der Filterbedingungen zur Vermeidung von Auswirkung von Urlaubssignalen bei Schwankungen und Zwischenmarkt

  3. Optimierung der Stop-Logik, Anpassung der Stop-Spanne an die dynamische Marktfluktuation

  4. Optimierung der Parameter in mehreren Kombinationen, um die optimale Parameter-Einstellung zu finden

Optimierungsrichtung

Die Strategie bietet auch viel Optimierungsmöglichkeiten, insbesondere in folgenden Bereichen:

  1. Zusätzliche Filterbedingungen werden hinzugefügt, um die Auswirkungen von Urlaubssignalen in Schwankungen und auf den Zwischenmärkten zu vermeiden

  2. Kombination mit dynamischen Kennzahlen zur Identifizierung stärkerer Durchbruchsignale

  3. Optimierung der Periodizität von Moving Averages und Suche nach der optimalen Kombination

  4. Automatische Optimierung der Stop-Loss-Marge auf Basis von Marktschwankungen

  5. Versuchen Sie, die gesamte Strategie automatisch zu optimieren, basierend auf Machine-Learning-Technologien.

  6. Versuchen Sie, mit anderen Strategien zu kombinieren, um komplexere Multi-Strategie-Systeme zu entwickeln

Zusammenfassen

Die Strategie ist insgesamt relativ einfach und praktisch und eignet sich für Anfänger. Sie zeigt das typische Modell einer Moving Average Crossover-Strategie, bei der das Risiko durch die Einstellung von Stop Losses kontrolliert wird. Die Strategie kann jedoch weiter optimiert werden, um ihre Handhabung effektiver zu machen und sich an mehr Marktumgebungen anzupassen.

Strategiequellcode
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("34 89 SMA Crossover Strategy", overlay=true)

// Define the length for the SMAs
short_length = input(34, title="Short SMA Length")
long_length = input(89, title="Long SMA Length")
exit_candles = input(3, title="Exit after how many candles?")
exit_at_open = input(true, title="Exit at Open?")

// Define morning session
morning_session = input("0800-1000", "Morning Session")

// Calculate SMAs
short_sma = ta.sma(close, short_length)
long_sma = ta.sma(close, long_length)

// Function to check if current time is within specified session
in_session(session) =>
    session_start = na(time(timeframe.period, "0800-1000")) ? na : true
    session_start

// Condition for buy signal (short SMA crosses over long SMA) within specified trading hours
buy_signal = ta.crossover(short_sma, long_sma)

// Condition for sell signal (short SMA crosses under long SMA) within specified trading hours
sell_signal = ta.crossunder(short_sma, long_sma)

// Function to exit the trade after specified number of candles
var int trade_entry_bar = na
var int trade_exit_bar = na
if (buy_signal or sell_signal)
    trade_entry_bar := bar_index
if (not na(trade_entry_bar))
    trade_exit_bar := trade_entry_bar + exit_candles

// Exit condition
exit_condition = (not na(trade_exit_bar) and (exit_at_open ? bar_index + 1 >= trade_exit_bar : bar_index >= trade_exit_bar))

// Execute trades
if (buy_signal)
    strategy.entry("Buy", strategy.long)
if (sell_signal)
    strategy.entry("Sell", strategy.short)
if (exit_condition)
    strategy.close("Buy")
    strategy.close("Sell")

// Plot SMAs on the chart
plot(short_sma, color=color.blue, linewidth=1)
plot(long_sma, color=color.red, linewidth=1)