Die Ressourcen sind geladen. Beförderung...

Historische Breakout-Trend-System mit gleitendem Durchschnittsfilter (HBTS)

Schriftsteller:ChaoZhang, Datum: 2024-12-05 14:40:05
Tags:- Nein.SMAEMAWMAVWMA

img

Übersicht

Diese Strategie ist ein Trendfolgensystem, das auf historischen Preis-Breakouts und gleitenden Durchschnittsfiltern basiert. Sie kombiniert mehrjährige Preis-Breakout-Signale mit gleitenden Durchschnitten, um Markttrends zu identifizieren, wobei strenge Ein- und Ausstiegsregeln zur Erfassung mittel- bis langfristiger Marktbewegungen verwendet werden.

Strategieprinzipien

Die Kernlogik basiert auf Preisbrechungen und dem Trend folgen.

  1. Eintrittssignal: Das System erzeugt ein Long-Signal, wenn der Preis ein 55-Tage-Hoch erreicht und über dem 200-Tage- gleitenden Durchschnitt schließt.
  2. Ausgangssignal: Das System schließt Positionen, wenn der Preis unter das 20-Tage-Tief fällt
  3. Trendfilter: Verwendet den 200-Tage- gleitenden Durchschnitt als Haupttrendindikator und gibt nur Longs über dem Durchschnitt ein.
  4. Positionsmanagement: Verwendet 10% des Kontokapitals für jeden Handel
  5. Optionen für gleitende Durchschnittswerte: Unterstützt SMA, EMA, WMA, VWMA und ermöglicht Flexibilität basierend auf den Merkmalen des Marktes

Strategische Vorteile

  1. Klare Logik: Die Strategie verwendet klassische Preisdurchbrüche und gleitende Durchschnittsindikatoren, die leicht zu verstehen und umzusetzen sind
  2. Robuste Risikokontrolle: verfügt über klare Stop-Loss-Bedingungen, verwaltet das Risiko durch gleitende Durchschnittsfilter und Positionskontrolle
  3. Hohe Anpassungsfähigkeit: Kann durch Parameter angepasst werden, um verschiedenen Marktumgebungen gerecht zu werden
  4. Starke Trend-Erfassung: Verwendet mehrere Zeitrahmen-Preis-Breakouts, um die Trendrichtung zu bestätigen
  5. Hohe Automatisierung: klare Strategieregeln erleichtern die programmatische Umsetzung

Strategische Risiken

  1. Die Risikopositionen werden in den folgenden Kategorien aufgelistet:
  2. Das Risiko einer Verschiebung: Auf weniger liquiden Märkten kann ein erheblicher Verschiebung auftreten.
  3. Trendumkehrrisiko: Potenzial für große Abzüge in der Nähe großer Trendwendepunkte
  4. Parameterempfindlichkeit: Die optimalen Parameter können in verschiedenen Marktumgebungen erheblich variieren.
  5. Geldverwaltungsrisiko: In bestimmten Situationen kann eine Position mit festem Anteil zu riskant sein

Optimierungsrichtlinien

  1. Signalbestätigung: Kann Volumen-Breakthrough und andere Hilfsindikatoren hinzufügen, um falsche Breakouts zu filtern
  2. Dynamischer Stop Loss: ATR und andere Volatilitätsindikatoren für dynamischen Stop Loss enthalten
  3. Positionsmanagement: Dynamische Anpassung der Positionsgröße anhand der Marktvolatilität
  4. Multi-Timeframe-Analyse: Hinzufügen von mehr Zeitrahmenanalysen zur Verbesserung der Signalzuverlässigkeit
  5. Anerkennung des Marktumfelds: Hinzufügen von Indikatoren für die Stärke des Trends zur Beurteilung der aktuellen Marktbedingungen

Zusammenfassung

Das ist ein strategisches System, das klassische Schildkrötenhandelsregeln mit modernen technischen Analysewerkzeugen kombiniert. Es erfasst Trends durch Preisdurchbrüche, bestätigt die Richtung mithilfe gleitender Durchschnitte und kontrolliert das Risiko mit vernünftigem Positionsmanagement. Die Strategie-Logik ist klar, praktisch und hat eine gute Skalierbarkeit.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-04 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Turtle Traders - Andrei", overlay=true, 
     default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// ====== Inputs ======
// Período para a máxima das compras
lookback_buy = input.int(title="Período para Máxima de Compra", defval=55, minval=1)

// Período para a mínima das vendas
lookback_sell = input.int(title="Período para Mínima de Venda", defval=20, minval=1)

// Período da Média Móvel
ma_length = input.int(title="Período da Média Móvel", defval=200, minval=1)

// Tipo de Média Móvel
ma_type = input.string(title="Tipo de Média Móvel", defval="SMA", options=["SMA", "EMA", "WMA", "VWMA"])

// ====== Cálculos ======
// Cálculo da Média Móvel baseada no tipo selecionado
ma = switch ma_type
    "SMA" => ta.sma(close, ma_length)
    "EMA" => ta.ema(close, ma_length)
    "WMA" => ta.wma(close, ma_length)
    "VWMA" => ta.vwma(close, ma_length)

// Cálculo da máxima dos últimos 'lookback_buy' candles
highest_buy = ta.highest(high, lookback_buy)

// Cálculo da mínima dos últimos 'lookback_sell' candles
lowest_sell = ta.lowest(low, lookback_sell)

// ====== Condições de Negociação ======
// Condição de entrada: fechamento acima da máxima dos últimos 'lookback_buy' candles E acima da MA
longCondition = (high == highest_buy) and (close > ma)

if (longCondition)
    strategy.entry("Comprar", strategy.long)

// Condição de saída: fechamento abaixo da mínima dos últimos 'lookback_sell' candles
exitCondition = (low == lowest_sell)

if (exitCondition)
    strategy.close("Comprar")

// ====== Plotagens ======
// Plotar a máxima de 'lookback_buy' candles
plot(highest_buy, color=color.green, title="Máxima", linewidth=2)

// Plotar a mínima de 'lookback_sell' candles
plot(lowest_sell, color=color.red, title="Mínima", linewidth=2)

// Plotar a Média Móvel
plot(ma, color=color.blue, title="Média Móvel", linewidth=2)

// ====== Sinais Visuais ======
// Sinal de entrada
plotshape(series=longCondition, location=location.belowbar, color=color.green, 
          style=shape.labelup, title="Sinal de Compra", text="")

// Sinal de saída
plotshape(series=exitCondition, location=location.abovebar, color=color.red, 
          style=shape.labeldown, title="Sinal de Venda", text="")


Verwandt

Mehr