Gradual Accumulation Breakout Handelsstrategie

Schriftsteller:ChaoZhang, Datum: 2023-10-25 17:34:41
Tags:

img

Übersicht

Die Gradual Accumulation Breakout Trading Strategy zielt darauf ab, potenzielle Akkumulations- und Verteilungsphasen auf dem Markt unter Verwendung der Prinzipien der Wyckoff-Analyse zu identifizieren, ergänzt durch die Ermittlung von Frühjahrs- und Aufschubmustern, um nach potenziellen Kauf- und Verkaufsmöglichkeiten zu suchen.

Strategie Logik

  1. Verwenden Sie gleitende Durchschnittskreuzungen unterschiedlicher Länge, um Akkumulations- und Verteilungsphasen zu identifizieren. Wenn der Schlusskurs über den MA der Länge AccumulationLength kreuzt, zeigt er eine Akkumulationsphase an. Wenn der Schlusskurs unter den MA der Länge DistributionLength kreuzt, zeigt er eine Verteilungsphasen an.

  2. Verwenden Sie gleitende Durchschnitts-Kreuzungen unterschiedlicher Längen, um Frühlings- und Aufschubmuster zu identifizieren. Wenn der niedrige Preis über den MA der Länge SpringLength kreuzt, zeigt er einen Frühling an. Wenn der hohe Preis unter den MA der Länge UpthrustLength kreuzt, zeigt er einen Aufschub an.

  3. Lang gehen, wenn eine Feder während einer Akkumulationsphase beobachtet wird. Kurz gehen, wenn ein Auftrieb während einer Verteilungsphase beobachtet wird.

  4. Länger Stop-Loss wird bei Schließen * (1 - Stop-Prozent%) gesetzt, Kurzer Stop-Loss bei Schließen * (1 + Stop-Prozent%).

  5. Auf dem Diagramm sind Formen zu erstellen, die für eine einfache visuelle Wiedererkennung die festgestellten Akkumulations-, Verteilungs-, Feder- und Auftriebsmuster anzeigen.

Analyse der Vorteile

  1. Die Identifizierung der Akkumulations- und Verteilungsphasen mittels Wyckoff-Analyse verbessert die Zuverlässigkeit der Handelssignale.

  2. Die Bestätigung der Signale mit Feder- und Auftriebsmustern ermöglicht eine weitere Validierung.

  3. Der Stop-Loss hilft, Einzelhandelsverluste zu kontrollieren.

  4. Die Anmerkungen in den Diagrammen zeigen deutlich, wie sich die Preise verändern.

  5. Die anpassbaren Parameter machen diese Strategie über Märkte und Zeitrahmen hinweg optimal.

Risikoanalyse

  1. Whipsaws können falsche Signale während der unruhigen Kursbewegung erzeugen.

  2. Die Feder und der Auftrieb können gelegentlich versagen.

  3. Ein Stop-Loss könnte die Verluste erhöhen.

  4. Unvereinbare Parameter für verschiedene Märkte können zu falschen Signalen führen.

  5. Bei mechanischen Systemen fehlt es an einer flexiblen diskretionären Kontrolle.

Optimierungsrichtlinien

  1. Testen Sie optimale Parameterkombinationen für alle Märkte und Zeitrahmen.

  2. Erwägen Sie, die Lautstärke für die Signalbestätigung zu integrieren.

  3. Dynamische Stopps basierend auf der Marktvolatilität.

  4. Einbeziehen Sie grundlegende Faktoren, um bei großen Ereignissen Signale zu vermeiden.

  5. Anwendung von maschinellem Lernen zur dynamischen Optimierung von Parametern.

Zusammenfassung

Die Gradual Accumulation Breakout Trading Strategy integriert Wyckoff-Analyse, gleitende Durchschnitte, Mustererkennung und andere Techniken, um die Kursbewegung effektiv zu identifizieren und Handelssignale zu generieren. Sie bietet zuverlässige Signale, kontrollierte Risiken, klare Visualisierungen und andere Vorteile. Als mechanisches System müssen ihre Diskretion und Anpassungsfähigkeit verbessert werden. Zukünftige Optimierungen beinhalten Parameteroptimierung, Volumenbestätigung, Stop-Loss-Erhöhung, fundamentale Filter und mehr.


/*backtest
start: 2023-09-24 00:00:00
end: 2023-10-24 00:00:00
period: 2h
basePeriod: 15m
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/
// © deperp

//@version=5
strategy("Wyckoff Range Strategy",  overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=10, commission_type=strategy.commission.percent)

// Input Variables
AccumulationLength = input(32, "Accumulation")
DistributionLength = input(35, "Distribution")
SpringLength = input(10, "Spring")
UpthrustLength = input(20, "Upthrust")
stopPercentage = input(10, "Stop Percentage")

// Accumulation Phase
isAccumulation = ta.crossover(close, ta.sma(close, AccumulationLength))

// Distribution Phase
isDistribution = ta.crossunder(close, ta.sma(close, DistributionLength))

// Spring and Upthrust
isSpring = ta.crossover(low, ta.sma(low, SpringLength))
isUpthrust = ta.crossunder(high, ta.sma(high, UpthrustLength))

// Strategy Conditions
enterLong = isAccumulation and isSpring
exitLong = isDistribution and isUpthrust

enterShort = isDistribution and isUpthrust
exitShort = isAccumulation and isSpring

// Entry and Exit Conditions
if (enterLong)
    strategy.entry("Long", strategy.long)
    
if (exitLong)
    strategy.close("Long")

if (enterShort)
    strategy.entry("Short", strategy.short)

if (exitShort)
    strategy.close("Short")

// Stop Loss
stopLossLevelLong = close * (1 - stopPercentage / 100)
stopLossLevelShort = close * (1 + stopPercentage / 100)
strategy.exit("Stop Loss Long", "Long", stop=stopLossLevelLong)
strategy.exit("Stop Loss Short", "Short", stop=stopLossLevelShort)

// Plotting Wyckoff Schematics
plotshape(isAccumulation, title="Accumulation Phase", location=location.belowbar, color=color.green, style=shape.labelup, text="Accumulation")
plotshape(isDistribution, title="Distribution Phase", location=location.abovebar, color=color.red, style=shape.labeldown, text="Distribution")
plotshape(isSpring, title="Spring", location=location.belowbar, color=color.blue, style=shape.triangleup)
plotshape(isUpthrust, title="Upthrust", location=location.abovebar, color=color.orange, style=shape.triangledown)

Mehr