In diesem Artikel wird eine Handelsstrategie namens
Der Kern dieser Strategie besteht darin, den ZigZag-Indikator zu verwenden, um extreme Punkte der Preise zu lokalisieren und Preistrends anzuzeigen. Der ZigZag-Indikator besteht aus dem exponentiellen gleitenden Durchschnitt (EMA) der hohen und niedrigen Preise.
Berechnen Sie den exponentiellen gleitenden Durchschnitt EMA der Schlusskurs, einschließlich drei gleitenden Durchschnittslinien: schnelle Linie, mittlere Linie und langsame Linie.
Beurteilen Sie, ob sich die Preise im Aufwärtstrend befinden, d.h. ob die aktuelle Mittellinie höher ist als die Mittellinie der vorherigen K-Linie.
Wenn er sich derzeit in einem Aufwärtstrend befindet, finden Sie den niedrigsten Preis, der vom Beginn der vorherigen Welle der Tiefpunkte innerhalb des ermittelten Zyklus als Wert von ZigZag gezählt wird.
Wenn es sich derzeit in einem Abwärtstrend befindet, finden Sie den höchsten Preis, der vom Beginn der vorherigen Welle der Höchststände innerhalb des erkannten Zyklus als Wert von ZigZag gezählt wird.
Somit wird der ZigZag-Indikator gebildet, der die extremen Punkte der Preisschwankungen widerspiegelt.
Auf dieser Grundlage verwenden wir die ZigZag-Linie als Referenz, um den Preistrend zu beurteilen. Das heißt, wenn der Preis steigt und durch die ZigZag-Indikatorlinie bricht, gehen wir lang; wenn der Preis fällt und durch die ZigZag-Indikatorlinie bricht, gehen wir kurz.
Die Vorteile der Verwendung des ZigZag-Indikators zur Bestimmung von Kursentwicklungen und zur Verfolgung von Kursextremen bei der Positionsbestimmung sind:
Kann Marktlärm effektiv filtern und wichtige Trends erfassen.
Handelssignale, die auf dem Ausbruch neuer Höchst- und Tiefststände basieren, können effizient profitieren.
ZigZag-Linien sind relativ glatt, was falsche Signale reduzieren kann.
Es ist einfach, Strategien zu optimieren, indem man ZigZag-Parameter anpasst.
Die wichtigsten Risiken dieser Strategie sind:
Der langfristige Lauf kann aufgrund heftiger Schwankungen auf dem Markt eingeschlossen werden.
ZigZag-Indikatoren sind empfindlich gegenüber Parametern. Falsche Einstellungen können Handelsmöglichkeiten verpassen oder falsche Signale erzeugen. Parameter müssen entsprechend getestet und optimiert werden.
Die Trend-Tracking-Strategien stützen sich stärker auf Trendmärkte.
Als Reaktion auf die oben genannten Risiken können wir Stop-Loss-Mechanismen einrichten, um einzelne Verluste zu kontrollieren; gleichzeitig die Positionsgröße anpassen, anstatt eine vollständige Position zu suchen; schließlich verschiedene Arten von Strategieportfolios zusammenpassen.
Wir können diese Strategie in folgenden Aspekten weiter optimieren:
Fügen Sie einen Stop-Loss-Mechanismus hinzu, z. B. setzen Sie einen beweglichen Stop-Loss oder einen Stop-Loss für die Amplitude des Kursrückgangs ein.
Kombination mit anderen Indikatoren für den Positionsfilter, z. B. Erhöhung der Dynamikindikatoren, um eine ausreichende Dynamik zu gewährleisten, oder Handelsvolumenindikatoren, um ein hohes Handelsvolumen zu gewährleisten.
Es werden unterschiedliche Parameterkonfigurationen entsprechend den unterschiedlichen Marktumgebungen (z. B. Bullen- und Bärenmärkte) angenommen.
Versuche verschiedene EMA-Linienparameter, um die beste Parameterkombination zu finden.
Diese Strategie verwendet den ZigZag-Indikator, um Preistrends zu bestimmen und Tracking-Positionen in der Nähe von Extrempunkten zu etablieren. Sein Vorteil ist, dem Trend effizient zu folgen, um Gewinn zu erzielen. Es besteht auch das Risiko, gefangen zu werden. Wir können Stop Loss einstellen, Parameter optimieren und das Handelsstrategieportfolio optimieren, um Risiken zu kontrollieren. Diese Strategie eignet sich besser für den mittelfristigen bis langfristigen Trendhandel. Wenn sie richtig kontrolliert und kombiniert wird, kann sie stabile Renditen erzielen.
/*backtest start: 2023-12-31 00:00:00 end: 2024-01-07 00:00:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title = "Noro's ZigTrend Strategy v1.0", shorttitle = "ZigTrend 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %") length = input(4) ExtremeDetection = input(4) src = input(close) fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year") toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year") frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month") tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month") fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day") today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day") //ZigZag f_zz(_length, _detection)=> _hls = ema(ema(ema(src, _length), round(_length*0.66)), round(_length*0.33)) _isRising = _hls >= _hls[1] _zigzag = _isRising and not _isRising[1] ? lowest(_detection) : not _isRising and _isRising[1] ? highest(_detection) : na zigzag = f_zz(length, ExtremeDetection) plot(zigzag, color=black, linewidth=2) //Signals up = close > zigzag dn = close < zigzag //Trading lot = 0.0 lot := strategy.position_size != strategy.position_size[1] ? strategy.equity / close * capital / 100 : lot[1] if up strategy.entry("Long", strategy.long, needlong == false ? 0 : lot) if dn strategy.entry("Short", strategy.short, needshort == false ? 0 : lot)