Handelsstrategie für gleitende Durchschnittstrends

Schriftsteller:ChaoZhang, Datum: 2023-10-09 16:00:02
Tags:

Übersicht

Diese Strategie ist eine Trend-Handelsstrategie, die auf gleitenden Durchschnitten basiert. Sie verwendet 3 gleitende Durchschnitte mit verschiedenen Parametern, um Handelssignale zu generieren. Sie geht lang, wenn der Preis über den gleitenden Durchschnitt überschreitet, und geht kurz, wenn der Preis darunter überschreitet. Die Strategie hat 3 gleitende Durchschnittslinien für einen stufenweisen Eintrag lang oder kurz, wodurch sie dem Trend folgen kann.

Strategie Logik

Die Strategie berechnet die gleitende Durchschnittslinie ma mit der Länge len mit der Funktion sma. Dann berechnet sie 3 weitere gleitende Durchschnittslinien longline1, longline2, longline3, die je nach ma um -4%, -5%, -6% verschoben werden.

Für die Langsignalgenerierung geht, wenn die aktuelle Position flach ist, mit 1 Lot lang, wenn der Preis über die Longline geht1. Wenn bereits 1 Lot lang ist, fügt es 1 weiteres Lot hinzu, wenn der Preis über die Longline geht2. Wenn bereits 2 Lots lang sind, fügt es 1 weiteres Lot hinzu, wenn der Preis über die Longline geht3. Die maximale Longposition beträgt 3 Lots.

Für die Kurzsignalgenerierung, wenn sie bereits lang ist, tritt sie aus allen Long-Positionen aus, wenn der Preis unter ma fällt.

Der stufenweise Einstieg ermöglicht es der Strategie, dem Trend zu folgen.

Vorteile

  • Die Verwendung gleitender Durchschnitte zur Bestimmung der Trendrichtung filtert Marktlärm aus und ermöglicht einen stetigen Gewinn
  • Aufgeschlüsselte Long/Short-Einträge können stärker von Trends profitieren
  • Die Verwendung verschiebter gleitender Durchschnitte als Einstiegspunkte ermöglicht eine bessere Aufzeichnung der Trends
  • Relativ geringe Anleihen, maximale Anleihemenge um 20% begrenzt

Risiken

  • Rein Trendfolgende Strategie neigt dazu, während von Range-Bunded-Märkten zu werden
  • Verzögerungssignale von gleitenden Durchschnitten können Trendwendepunkte verpassen
  • Aufgeschlüsselte Long-Entrys können zu hohen Preisen führen und das Risiko erhöhen
  • Kein Stop-Loss-Mechanismus könnte zu großen Verlusten durch plötzliche Ereignisse führen

Risikolösungen:

  • Hinzufügen anderer Indikatoren zur Bestimmung von Trendwendepunkten
  • Bewegliche Durchschnittsparameter sind vernünftigerweise festgesetzt, nicht zu lang, um zu verzögerte Signale zu vermeiden
  • Verringerung der langen Eingangschargen, um hohe Preise zu vermeiden
  • Hinzufügen von beweglichen Stop-Loss, um Verluste zu begrenzen

Optimierungsrichtlinien

Die Strategie kann in folgenden Aspekten optimiert werden:

  1. Hinzufügen anderer Indikatoren wie MACD zur Bestimmung der Trendstärke

  2. Optimieren Sie gleitende Durchschnittsparameter, um die beste Kombination zu finden

  3. Anpassung der Größe und des Verhältnisses der Stufenartige, um zu verhindern, dass hohe Preise gejagt werden

  4. Hinzufügen eines auf ATR basierenden Bewegungsstop Loss Mechanismus

  5. Dynamische Anpassung der Positionsgröße anhand der Marktvolatilität, Reduzierung der Größe bei hoher Volatilität

  6. Versuchsparameter für verschiedene Produkte zur Ermittlung des optimalen Symbols

  7. Entwicklung eines Exit-Moduls zur Gewinngewinnung bei bestimmten Mustern

Zusammenfassung

Insgesamt handelt die Strategie basierend auf der Trendrichtung, die durch gleitende Durchschnitte bestimmt wird, und profitiert von Trends über abgestufte Einträge. Aber sie hat einige Verzögerungsprobleme und Risiken, hohe Preise zu verfolgen. Wir können sie optimieren, indem wir Hilfsindikatoren hinzufügen, Parameter optimieren, die Positionsgröße anpassen, Stop-Loss hinzufügen usw., um uns an verschiedene Marktbedingungen anzupassen und stetige Gewinne zu erzielen.


/*backtest
start: 2022-10-02 00:00:00
end: 2023-10-08 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2019

//@version=4
strategy(title = "Noro's ShiftMA-multi Strategy v1.0", shorttitle = "ShiftMA-multi", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 3)

//Settings
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot")
len = input(3, minval = 1, title = "MA Lenghs")
src = input(ohlc4, title = "MA Source")
longlevel1 = input(-4.0, title = "Long line 1")
longlevel2 = input(-5.0, title = "Long line 2")
longlevel3 = input(-6.0, title = "Long line 3")
needoffset = input(true, title = "Offset")

//Variables
size = strategy.position_size
mult = 1 / syminfo.mintick

//MA
ma = sma(src, len)
longline1 = round(ma * ((100 + longlevel1) / 100) * mult) / mult
longline2 = round(ma * ((100 + longlevel2) / 100) * mult) / mult
longline3 = round(ma * ((100 + longlevel3) / 100) * mult) / mult

//Lines
offset = needoffset ? 1 : 0
plot(ma, color = color.blue)
plot(longline1, offset = offset, color = color.lime)
plot(longline2, offset = offset, color = color.lime)
plot(longline3, offset = offset, color = color.lime)

//Trading
lot = 0.0
lot := size == 0 ? strategy.equity / close * capital / 100 : lot[1]
lots = 0.0
if ma > 0
    lots := round(size / lot)
    strategy.entry("L1", strategy.long, lot, limit = longline1, when = (lots == 0))
    lots := round(size / lot)
    strategy.entry("L2", strategy.long, lot, limit = longline2, when = (lots <= 1))
    lots := round(size / lot)
    strategy.entry("L3", strategy.long, lot, limit = longline3, when = (lots <= 2))
if size > 0
    strategy.entry("TP", strategy.short, 0, limit = ma)
    

Mehr