Einfache Querschnittstrategie für gleitende Durchschnitte

Schriftsteller:ChaoZhang, Datum: 23.09.2021 Uhr
Tags:

Übersicht

Diese Strategie handelt auf der Grundlage von goldenen Kreuz und totem Kreuz von 3 einfachen gleitenden Durchschnitten. Es geht lang, wenn die schnelle SMA über die mittlere SMA und die mittlere SMA über die langsame SMA kreuzt; Es geht kurz, wenn der umgekehrte Crossover stattfindet.

Strategie Logik

  1. Setzen Sie 3 SMAs mit unterschiedlichen Perioden: schnell, mittel, langsam
  2. Long gehen, wenn der schnelle SMA über den mittleren SMA und den mittleren über den langsamen SMA kreuzt
  3. Kurz gehen, wenn der schnelle SMA unter den mittleren SMA und der mittlere unter den langsamen SMA kreuzt
  4. Kann Eintrittsverzögerung einstellen, um falsche Ausbrüche zu vermeiden
  5. Ausgang, wenn das Reverse-Crossover-Signal ausgelöst wird

Der schnelle SMA steht für den kurzfristigen Trend, der mittlere SMA für den mittelfristigen Trend und der langsame SMA für den langfristigen Trend. Wenn die drei SMAs aufeinanderfolgend nach oben kreuzen, signalisiert er einen Aufwärtstrend, um lang zu gehen. Wenn ein Abwärtstrend eintritt, signalisiert er einen Abwärtstrend, um kurz zu gehen. Eintrittsverzögerung kann auch so eingestellt werden, dass kurzfristige falsche Ausbrüche vermieden werden.

Analyse der Vorteile

  1. Die Verwendung von 3 SMAs verbessert die Richtgenauigkeit
  2. Eine verzögerte Einreise verhindert falsche Ausbrüche und eine Falle.
  3. Einfache und intuitive Logik, leicht zu verstehen
  4. Flexible Einstellung der SMA-Parameter für verschiedene Zyklen
  5. Trendnachfolge vermeidet Gegentrendrisiken

Risikoanalyse

  1. Langfristige Haltungen bei langfristigen Risiken Verlustvergrößerung
  2. Der SMA-Crossover hat etwas Verzögerung, kann die besten Einstiegspunkte verpassen.
  3. Erfordert eine Optimierung des SMA-Parameters, andernfalls sind die Signale möglicherweise ungenau
  4. Die langfristige Beteiligung führt zu Risiken über Nacht

Risiken können durch Positionsgrößen, SMA-Optimierung, Stop-Loss-Strategien usw. verwaltet werden.

Optimierungsrichtlinien

  1. Versuche verschiedene SMA-Perioden, um optimale Parameter zu finden
  2. Bewertung der Eintrittsverzögerung, um Signale auszufiltern
  3. Einführung eines Stopp-Loss, der sich an die tatsächliche Kursentwicklung anpassen lässt
  4. Präferenz von Studienparametern für verschiedene Produkte
  5. Tests, bei denen die Regeln für den Wiedereintritt und die Pyramidenordnung addiert werden, um die Aufbewahrung zu optimieren

Zusammenfassung

Diese Strategie hält Positionen basierend auf 3 SMA-Kreuzungen, um die Trendrichtung zu bestimmen. Vorteile sind einfache klare Signale und Konfigurationsfähigkeit; Nachteile sind zurückbleibende Signale und Parameterabhängigkeit. Die Leistung kann durch Parameteroptimierung, Stop-Loss usw. verbessert und Risiken kontrolliert werden.


/*backtest
start: 2023-08-21 00:00:00
end: 2023-09-20 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// © DaynTrading

//@version=4
// strategy(
//      title="Simple Moving Average Cross",
//      overlay=true,
//      initial_capital=5000,
//      default_qty_type=strategy.percent_of_equity,
//      default_qty_value=2,
//      commission_type=strategy.commission.percent,
//      commission_value=0.075,
//      pyramiding=0
//      )

sma_top_input = input(title="SMA Top", type=input.integer, defval=20)
sma_mid_input = input(title="SMA Mid", type=input.integer, defval=50)
sma_low_input = input(title="SMA Low", type=input.integer, defval=200)

bars_long = input(title="Long: After trigger, how many bars to wait?", type=input.integer, defval=5)
bars_short = input(title="Short: After trigger, how many bars to wait?", type=input.integer, defval=5)

sma_top = sma(close, sma_top_input)
sma_mid = sma(close, sma_mid_input)
sma_low = sma(close, sma_low_input)

long = sma_top > sma_mid and sma_mid > sma_low
short = sma_top < sma_mid and sma_mid < sma_low

long_condition = long and long[bars_long] and not long[bars_long + 1]
short_condition = short and short[bars_short] and not short[bars_short + 1]

close_long = sma_top < sma_mid and sma_mid < sma_low and not long[bars_long + 1]
close_short = sma_top > sma_mid and sma_mid > sma_low and not short[bars_short + 1]

plot(sma_top, title="SMA Top", color=#95f252, linewidth=2)
plot(sma_mid, title="SMA Mid", color=#FF1493, linewidth=2)
plot(sma_low, title="SMA Low", color=#6a0dad, linewidth=2)

strategy.entry("LongPosition", strategy.long, when = long_condition)
strategy.entry("ShortPosition", strategy.short, when = short_condition)
    
strategy.close("LongPosition", when = close_short)
strategy.close("ShortPosition", when = close_long)

Mehr