Super Z Quantitative Trendstrategie


Erstellungsdatum: 2023-11-27 18:41:59 zuletzt geändert: 2023-11-27 18:41:59
Kopie: 0 Klicks: 934
1
konzentrieren Sie sich auf
1617
Anhänger

Super Z Quantitative Trendstrategie

Überblick

Super-Z-Quantifizierung ist eine auf Quantifizierung basierende Trendverfolgungsstrategie. Die Strategie verwendet benutzerdefinierte Indikatoren in Kombination mit Supertrend-Indikatoren, um Trends zu beurteilen und zu verfolgen.

Strategieprinzip

Der Kern der Strategie ist der benutzerdefinierte quantitative Indikator VHMA. Der VHMA-Indikator basiert auf dem Hull Moving Average und wird durch die Quadratwurzel-Funktion auf die Hull MA abgewickelt, um eine Kurve mit guter Glattigkeit zu bilden. Die VHMA-Kurve kann die Richtung der Preisentwicklung bestimmen. Wenn der VHMA steigt, ist der Preis im Aufwärtstrend und wenn er fällt, ist der Preis im Abwärtstrend.

Die Strategie kombiniert auch einen Supertrend-Indikator, der die Preisentwicklung für längere Zeiträume erkennt und den VHMA-Indikator hilft, die Richtung des Trends zu bestimmen. Wenn der Preis die Supertrend-Linie durchbricht, bedeutet dies eine Trendwende.

Die Strategie nutzt daher VHMA-Indikatoren, um die Richtung des kurzfristigen Trends zu bestimmen, ergänzt durch Supertrend-Indikatoren, um die Wendepunkte des langfristigen Trends zu bestimmen, um den Gesamttrend zu verfolgen. Die spezifische Handelslogik sendet Handelssignale aus, wenn die Supertrendlinie durchbrochen wird.

Analyse der Stärken

Diese Strategie hat folgende Vorteile:

  1. Der VHMA-Indikator ist sehr glatt und kann falsche Signale reduzieren und die Richtung des Trends zuverlässig bestimmen.

  2. In Kombination mit dem Supertrend-Indikator kann eine Umkehrung des langfristigen Trends rechtzeitig erkannt und die Zeit für den Kauf und Verkauf erfasst werden.

  3. Verwenden Sie unterschiedlich farbige K-Linien und leere K-Linien, um die Größenverhältnisse zwischen den Schlusskosten und den Eröffnungskosten darzustellen, um visuelle Indikatoren zu bilden, die zur Beurteilung von Trends beitragen;

  4. Die Verwendung von mehreren Zeitrahmen, um die Richtung der Trends in den höheren Zeitrahmen zu bestimmen und Handelssignale in den niedrigeren Zeitrahmen zu senden, um eine effiziente Filterung zu ermöglichen;

  5. Die Strategieparameter sind optimiert, stabil und für verschiedene Marktumgebungen geeignet.

Risikoanalyse

Die Strategie birgt auch folgende Risiken:

  1. Die Quantifizierung der Kennzahlen hat einen Rückmessungseffekt, der auf der Festplatte möglicherweise schwächer ist als der Rückmessung;

  2. Die falsche Einstellung der Parameter des Supertrend-Indikators kann zu verpassten Handelsmöglichkeiten oder zu mehr unnötigen Transaktionen führen.

  3. Die Mehrzeit-Framework-Entwicklung kann auch unter Festplattenbedingungen fehlschlagen.

Gegenmaßnahmen:

  1. Erhöhung der Gleitpunkt-Einstellungen, Optimierung der Parameter und Verringerung der Rückmessung;

  2. Anpassung der Parameter des Supertrend-Indikators und Optimierung der Parameter-Einstellungen;

  3. Versuche, mehrere Zeitrahmen zu kombinieren, um die Stabilität zu gewährleisten.

Optimierungsrichtung

Die Strategie kann optimiert werden durch:

  1. Verschiedene Gleitende Durchschnittswerte anstelle von VHMAs getestet;

  2. Versuchen Sie, andere Trendindikatoren als Supertrends zu verwenden.

  3. Hinzufügen von Parametern für die Ausbildung von Machine Learning Modellen.

Diese Optimierungsmaßnahmen können die Anpassung von Strategien an komplexe Situationen verbessern.

Zusammenfassen

Die Super-Z-Quantifizierungs-Trendstrategie ermöglicht die Beurteilung und Verfolgung von Preistrends durch die Verwendung von Custom Trend Indicators VHMA in Kombination mit Super Trend Indicators. Die Strategie ist stabil und hat eine hervorragende Wirkung. Durch ständige Tests und Optimierungen wird die Strategie zu einer effizienten und stabilen Quantifizierungs-Trend-Tracking-Strategie werden.

Strategiequellcode
/*backtest
start: 2022-11-20 00:00:00
end: 2023-11-26 00:00:00
period: 1d
basePeriod: 1h
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/
//Original script
//https://www.tradingview.com/script/wYknDlLx-super-Z/

//@version=4
strategy("Super Z strategy - Thanks to Rafael Zioni", shorttitle="Super Z strategy",overlay=true )
src5 = input(close)
    
tf = input(1440)
len5 = timeframe.isintraday and timeframe.multiplier >= 1 ? 
   tf / timeframe.multiplier * 7 : 
   timeframe.isintraday and timeframe.multiplier < 60 ? 
   60 / timeframe.multiplier * 24 * 7 : 7

ma = ema(src5*volume, len5) / ema(volume, len5)


//script taken from https://www.tradingview.com/script/kChCRRZI-Hull-Moving-Average/

src1 = ma

p(src1, len5) =>
    n = 0.0
    s = 0.0
    for i = 0 to len5 - 1
        w = (len5 - i) * len5
        n := n + w
        s := s + src5[i] * w
    s / n

hm = 2.0 * p(src1, floor(len5 / 2)) - p(src1, len5)
vhma = p(hm, floor(sqrt(len5)))
lineColor = vhma > vhma[1] ? color.lime : color.red
plot(vhma, title="VHMA", color=lineColor ,linewidth=3)
hColor = true,vis = true
hu = hColor ? (vhma > vhma[2] ? #00ff00 : #ff0000) : #ff9800

vl = vhma[0]
ll = vhma[1]
m1 = plot(vl, color=hu, linewidth=1, transp=60)
m2 = plot(vis ? ll : na,  color=hu, linewidth=2, transp=80)

fill(m1, m2,  color=hu, transp=70)
//

b = timeframe.isintraday and timeframe.multiplier >= 1 ? 
   60 / timeframe.multiplier * 7 : 
   timeframe.isintraday and timeframe.multiplier < 60 ? 
   60 / timeframe.multiplier * 24 * 7 : 7



//
res5 = input("D", type=input.resolution)

o = security(syminfo.tickerid, res5, open, barmerge.gaps_off, barmerge.lookahead_on)
c = security(syminfo.tickerid, res5, close, barmerge.gaps_off, barmerge.lookahead_on)
hz = security(syminfo.tickerid, res5, high, barmerge.gaps_off, barmerge.lookahead_on)
l = security(syminfo.tickerid, res5, low, barmerge.gaps_off, barmerge.lookahead_on)



col = c >= o ? color.lime : color.red

ppo = plot(b ? o >= c ? hz : l : o, color=col, title="Open", style=plot.style_stepline, transp=100)
ppc = plot(b ? o <= c ? hz : l : c, color=col, title="Close", style=plot.style_stepline, transp=100)

plot(b and hz > c ? hz : na, color=col, title="High", style=plot.style_circles, linewidth=2,transp=60)
plot(b and l < c ? l : na, color=col, title="Low", style=plot.style_circles,linewidth=2, transp=60)

fill(ppo, ppc, col)

//
// INPUTS //
st_mult   = input(1,   title = 'SuperTrend Multiplier', minval = 0, maxval = 100, step = 0.01)
st_period = input(50, title = 'SuperTrend Period',     minval = 1)

// CALCULATIONS //
up_lev =l - (st_mult * atr(st_period))
dn_lev = hz + (st_mult * atr(st_period))

up_trend   = 0.0
up_trend   := c[1] > up_trend[1]   ? max(up_lev, up_trend[1])   : up_lev

down_trend = 0.0
down_trend := c[1] < down_trend[1] ? min(dn_lev, down_trend[1]) : dn_lev

// Calculate trend var
trend = 0
trend := c > down_trend[1] ? 1: c < up_trend[1] ? -1 : nz(trend[1], 1)

// Calculate SuperTrend Line
st_line = trend ==1 ? up_trend : down_trend

// Plotting
//plot(st_line[1], color = trend == 1 ? color.green : color.red , style = plot.style_cross, linewidth = 2, title = "SuperTrend")
buy=crossover( c, st_line)
sell=crossunder(c, st_line)
signal=input(false)

/////////////// Plotting /////////////// 
plotshape(signal and buy, style=shape.triangleup, size=size.normal, location=location.belowbar, color=color.lime)
plotshape(signal and sell, style=shape.triangledown, size=size.normal, location=location.abovebar, color=color.red)


if (buy)
    strategy.entry("My Long Entry Id", strategy.long)

if (sell)
    strategy.entry("My Short Entry Id", strategy.short)