SMA Crossover-Strategie


Erstellungsdatum: 2024-03-28 17:50:00 zuletzt geändert: 2024-03-28 17:50:00
Kopie: 1 Klicks: 587
1
konzentrieren Sie sich auf
1617
Anhänger

SMA Crossover-Strategie

Überblick

Die Strategie ist eine einfache SMA-Gehaltslinie-Kreuzstrategie. Sie verwendet einen einfachen Moving Average mit zwei unterschiedlichen Perioden (SMA) und macht Positionen, wenn die schnelle Linie von unten nach oben durch die langsame Linie geht, und platziert, wenn die schnelle Linie von oben nach unten durch die langsame Linie geht. Die Strategie kann die Länge der beiden Gleichungen sowie die Anfangs- und Enddaten der Rückmessung anpassen.

Die Hauptidee dieser Strategie ist es, die Trend-Eigenschaften der Gleichung und die Signal-Eigenschaften der Gleichungskreuzung zu nutzen, um zu handeln. Wenn die schnelle Linie oberhalb der langsamen Linie ist, bedeutet dies, dass sie sich im Aufwärtstrend befindet, und Sie sollten mehrere Positionen einnehmen. Wenn die schnelle Linie unter der langsamen Linie ist, was bedeutet, dass sie sich im Abwärtstrend befindet, sollten Sie die Position behalten.

Strategieprinzip

  1. Berechnen Sie zwei unterschiedliche SMA-Perioden, wobei die Länge der Perioden angepasst werden kann.
  2. Beurteilen, ob sich die aktuelle Zeit in der Rückmesszeit befindet, und keine Handlungen durchführen, wenn sie nicht vorhanden ist.
  3. Wenn die schnelle Linie die langsame Linie von unten nach oben durchquert, wird ein höherer Kurs angelegt.
  4. Wenn die schnelle Linie die langsame Linie von oben nach unten durchquert, werden alle Mehrkopfpositionen ausgeglichen.
  5. In den übrigen Fällen wird das Lager ledig beobachtet und keine Operation durchgeführt.

Analyse der Stärken

  1. Einfach zu verstehen, klar und logisch, für Anfänger geeignet.
  2. Die Durchschnittslinie ist ein weit verbreiteter technischer Indikator, der eher tendenziell ist und die aktuellen Markttrends besser widerspiegelt.
  3. Ein Linear-Cross ist ein klassisches Trend-Tracking-Signal, das eine Veränderung des Trends schnell erfasst.
  4. Die Durchschnittszyklus- und Rücklaufzeitfenster können individuell angepasst werden. Die Flexibilität ist groß.
  5. Für stark trendige Sorten und Zeiträume.

Risikoanalyse

  1. Die Durchschnittslinie weist eine gewisse Verzögerung auf. Bei starken Marktschwankungen und wiederholten Trends können häufige Kreuzungen auftreten, was zu einer übermäßigen Anzahl von Transaktionen und erhöhten Gebühren führt.
  2. Die Strategie erfasst nur einseitige Aufwärtsbewegungen und ist unfähig, sowohl einseitige Erschütterungen als auch einseitige Abwärtsbewegungen zu erfassen.
  3. Die Auswahl der Mittellinienparameter muss für verschiedene Sorten und Zeiträume optimiert werden, da die unterschiedlichen Parameter möglicherweise sehr unterschiedlich wirken.
  4. Die Strategie hat keine Stop-Loss-Maßnahmen und kann bei starken Marktschwankungen mit einem höheren Rücknahme-Risiko konfrontiert werden.

Optimierungsrichtung

  1. Es kann in Erwägung gezogen werden, geeignete Stop-Loss-Maßnahmen, wie beispielsweise ATR-basierte mobile Stop-Losses, hinzuzufügen, um den maximalen Verlust eines einzelnen Handels zu kontrollieren.
  2. Einige Filterbedingungen wie Volumen, Volatilität usw. können in Betracht gezogen werden, um falsche Signale zu filtern.
  3. Eine Optimierung der Parameter kann in Betracht gezogen werden, z. B. durch die Verwendung von intelligenten Algorithmen wie genetischen Algorithmen, um die optimale Kombination von Parametern zu finden.
  4. Es kann in Erwägung gezogen werden, andere technische Indikatoren oder Handelssignale in Verbindung mit einer linearen Kreuzung wie MACD, RSI usw. zu kombinieren, um die Zuverlässigkeit und Wirksamkeit der Strategie zu verbessern.

Zusammenfassen

Die SMA Linear-Cross-Strategie ist eine einfache, leicht verständliche, klassische und praktische Trend-Tracking-Strategie, die für Anfänger geeignet ist. Sie nutzt die Trend-Eigenschaften der Linear-Cross-Strategie und die Signal-Eigenschaften der Linear-Cross-Strategie, um die Veränderungen der Markttrends schnell zu erfassen. Die Strategie hat jedoch auch einige Einschränkungen und Risiken, wie z. B. Verzögerung, häufiger Handel, Mangel an Stop-Loss.

Strategiequellcode
/*backtest
start: 2023-03-22 00:00:00
end: 2024-03-27 00:00:00
period: 1d
basePeriod: 1h
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/
// © j0secyn

//@version=5
strategy("MA Cross", overlay=true, margin_long=100, margin_short=100, default_qty_value=100, default_qty_type=strategy.percent_of_equity, initial_capital=10000)

// === INPUT BACKTEST RANGE ===
fromDay   = input.int(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input.int(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear  = input.int(defval = 2018,title = "From Year", minval = 1970)
thruDay   = input.int(defval = 30, title = "Thru Day", minval = 1, maxval = 31)
thruMonth = input.int(defval = 9, title = "Thru Month", minval = 1, maxval = 12)
thruYear  = input.int(defval = 2024, title = "Thru Year", minval = 1970)

slow_ma_length = input.int(defval = 100, title = "Slow MA lenght")
fast_ma_length = input.int(defval = 30, title = "Fast MA lenght")

// === FUNCTION EXAMPLE ===
start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)            // backtest start  window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)            // backtest finish window
window()  => true

// === LOGIC ===
crossOv = ta.crossover(ta.sma(close, fast_ma_length), ta.sma(close, slow_ma_length))
crossUn = ta.crossunder(ta.sma(close, fast_ma_length), ta.sma(close, slow_ma_length))

// === EXECUTION ===
// strategy.entry("L", strategy.long, when = window() and crossOv)        // enter long when "within window of time" AND crossover
// strategy.close("L", when = window() and crossUn)                       // exits long when "within window of time" AND crossunder         
strategy.entry("L", strategy.long, when = window() and crossOv)        // enter long when "within window of time" AND crossover
strategy.close("L", when = window() and crossUn)                       // exits long when "within window of time" AND crossunder