Dynamische Stützungs- und Widerstandskanalbrechung

Schriftsteller:ChaoZhang, Datum: 2024-01-18 12:30:04 Uhr
Tags:

img

Übersicht

Die Dynamic Support and Resistance Channel Breakout Strategy ist eine leistungsstarke Strategie zur Identifizierung wichtiger Support- und Widerstandsniveaus und Breakout-Signale.

Strategie Logik

Die Strategie berechnet dynamisch Unterstützungs- und Widerstandsniveaus basierend auf benutzerdefinierten linken und rechten Balken. Dies bietet Flexibilität, um sich an sich ändernde Marktbedingungen anzupassen. Sie erzeugt Kauf- und Verkaufssignale, wenn der Schlusskurs diese Unterstützungs- und Widerstandsniveaus überschreitet, zusammen mit der Volumenbestätigung. Darüber hinaus integriert die Strategie die automatisierte Ausführung von LANGEN/KURZEN Positionen basierend auf den definierten Unterstützungs- und Widerstandsbedingungen, wodurch der gesamte Handelsprozess optimiert wird.

Speziell berechnet die Strategie die dynamischen Unterstützungs- und Widerstandsniveaus mithilfe der Funktionen ta.pivotlow und ta.pivothigh. Diese Unterstützungs- und Widerstandslinien werden in roten und blauen Farben auf dem Chart dargestellt. Wenn der Schlusskurs durch diese Niveaus bricht, werden an den Breakout-Platzierungen B-Formmarkierungen gezogen. Inzwischen beinhaltet die Strategie einen Volumen-Oszillator, der 5-Tage- und 10-Tage-Durchschnittsvolumina verwendet, um Volumenanstiege zu messen. Breakout-Signale und -Warnungen werden nur ausgelöst, wenn das Volumen ausreichend groß ist. Schließlich integriert die Strategie LANG/SHORT Ein- und Ausstiegsstrategien, die auf diesen Unterstützungs-, Widerstands- und Volumenbedingungen basieren.

Vorteile

Die Strategie weist folgende Vorteile auf:

  1. Dynamische Unterstützungs- und Widerstandsniveaus passen sich den Marktveränderungen an
  2. Volumenbestätigung stellt die Bedeutung der Ausbrüche sicher
  3. Graphische Hinweise zeigen wichtige Punkte
  4. Integrierte Handelsstrategie vereinfacht den Arbeitsablauf
  5. Anpassbare Parameter erhöhen die Anpassungsfähigkeit

Insgesamt identifiziert, visualisiert und nutzt die Strategie umfassend die wichtigsten Unterstützungs- und Widerstandsbrechungspunkte, was den Händlern die Auswahl des optimalen Handelszeitpunkts erheblich erleichtert und die Chancen auf erfolgreichen Handel erheblich verbessert.

Risiken

Zu den potenziellen Risiken der Strategie gehören hauptsächlich:

  1. Invalid Breakout-Risiko. Breakout-Punkte können falsche Breakouts bilden, die zu unnötigen Verlusten führen. Dies kann durch strengere Anforderungen an die Bestätigung von Volumen- und Preisschwankungen gemildert werden.

  2. Parameteroptimierungsrisiko. Bei fehlerhaften Support- und Widerstandsniveaus, wenn linke/rechte Balken usw. falsch eingestellt werden, kann eine ungenaue Berechnung erfolgen. Geeignete linke/rechte Balken sollten entsprechend den Handelsmerkmalen verschiedener Produkte ausgewählt werden.

  3. Überoptimierungsrisiko. Übermäßige Optimierung von Parametern kann zu Überanpassung führen. Richtige Backtesting und Validierung sollten durchgeführt werden, um eine Überoptimierung auf begrenzten Daten zu vermeiden.

  4. Das Risiko der Transaktionskosten. Häufiger Handel kann zu höheren Provisionen führen. Gewinnfaktoren oder andere Mittel zur Kontrolle der Handelshäufigkeit sollten berücksichtigt werden.

Anweisungen zur Verbesserung

Die Strategie kann in folgenden Aspekten verbessert werden:

  1. Hinzufügen von Stop-Loss-Bedingungen zur Kontrolle von Einzelverlusten.

  2. Optimieren Sie die Gewinnfaktoren, um optimale Gewinnpunkte zu ermitteln.

  3. Versuche verschiedene Parameterkombinationen, um optimale Parameter zu ermitteln.

  4. Die Einstellungen für die linke/rechte Balke anpassen, je nach Produkt.

  5. Hinzufügen anderer Filter, z. B. Preisvolatilität, um die Ausbruchwahrscheinlichkeit besser abzuschätzen.

  6. Versuchen Sie verschiedene Volumenbestätigungsindikatoren, z. B. große Volumenbreaks.

  7. Einbeziehung anderer Strategien oder Indikatoren zur besseren Integration.

Schlussfolgerung

Die Dynamic Support and Resistance Channel Breakout Strategy nutzt die Support- und Widerstandskonzepte aus der technischen Chartanalyse zusammen mit der Volumenanalyse, um die Bedeutung von Breakouts zu bestätigen, um kritische Wendepunkte auf dem Markt effektiv aufzudecken.


/*backtest
start: 2024-01-10 00:00:00
end: 2024-01-17 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Support and Resistance channel with Breaks p5", shorttitle="Support and Resistance channel with Breaks [cryptoonchain]", overlay=true, max_bars_back=1000)

// Input variables
toggleBreaks = input(true, title="Show Breaks")
leftBars = input(15, title="Left Bars")
rightBars = input(15, title="Right Bars")
volumeThresh = input(20, title="Volume Threshold")

// Calculate pivot levels
highUsePivot = fixnan(ta.pivothigh(leftBars, rightBars)[1])
lowUsePivot = fixnan(ta.pivotlow(leftBars, rightBars)[1])

// Plot resistance and support lines
r1 = plot(highUsePivot, color=color.new(na(highUsePivot) ? na : #FF0000, 0), linewidth=3, offset=-(rightBars + 1), title="Resistance")
s1 = plot(lowUsePivot, color=color.new(na(lowUsePivot) ? na : #233dee, 0), linewidth=3, offset=-(rightBars + 1), title="Support")

// Volume %
short = ta.ema(volume, 5)
long = ta.ema(volume, 10)
osc = 100 * (short - long) / long

// Plot shapes for breaks with volume
plotshape(toggleBreaks and ta.crossunder(close, lowUsePivot) and not (open - close < high - open) and osc > volumeThresh, title="Break", text='B', style=shape.labeldown, location=location.abovebar, color=color.red, textcolor=color.white, transp=0, size=size.tiny)
plotshape(toggleBreaks and ta.crossover(close, highUsePivot) and not (open - low > close - open) and osc > volumeThresh, title="Break", text='B', style=shape.labelup, location=location.belowbar, color=color.green, textcolor=color.white, transp=0, size=size.tiny)

// Alert conditions
alertcondition(ta.crossunder(close, lowUsePivot) and osc > volumeThresh, title="Support Broken", message="Support Broken")
alertcondition(ta.crossover(close, highUsePivot) and osc > volumeThresh, title="Resistance Broken", message="Resistance Broken")

// Strategy conditions with filter
longCondition = low > highUsePivot and osc > volumeThresh
shortCondition = high < lowUsePivot and osc > volumeThresh


// Strategy entries
strategy.entry("My Long Entry Id", strategy.long, when=longCondition)
strategy.entry("My Short Entry Id", strategy.short, when=shortCondition)


Mehr