Die Ressourcen sind geladen. Beförderung...

Bollinger-Band-T3-Strategie für gleitende Durchschnitte

Schriftsteller:ChaoZhang, Datum: 2023-11-02 15:45:31
Tags:

img

Übersicht

Diese Strategie nutzt vollständig das Trendbeurteil von gleitenden Durchschnitten und das Überkauf/Überverkauf von Bollinger Bands. Mit der Glättung des gleitenden Durchschnitts von T3 kann sie die Trendumkehr rechtzeitig erkennen und in den Markt eintreten. In der Schwingungszone verwendet sie die Bollinger Bands, um überkaufte/Überverkaufte Bereiche für den Gegentrendhandel zu identifizieren. So realisiert sie den Ultra-Kurzzeithandel.

Strategie Logik

Die Strategie verwendet hauptsächlich drei Gruppen von gleitenden Durchschnitten, um den Trend zu identifizieren und Handelssignale zu generieren. Erstens ist der T3-gleitende Durchschnitt, der durch exponentielle Glättung Preisschwankungen filtern und die Trendrichtung beurteilen kann. Zweitens ist der mittelfristige gleitende Durchschnitt, hier verwendet der 20-Perioden-SMA, um den mittelfristigen Trend zu bestimmen. Zuletzt sind die schnellen und langsamen gleitenden Durchschnitte, die 50-Perioden- und 200-Perioden-T3-gleitenden Durchschnitte. Wenn die schnelle Linie größer ist als die langsame Linie, zeigt dies einen Aufwärtstrend an, ansonsten einen Abwärtstrend.

Die Handelssignale werden erzeugt, wenn die mittelfristige SMA über die mittelfristige T3 nach oben kombiniert mit einem Aufwärtstrend kreuzt, gehen Sie lang. Wenn die mittelfristige SMA unter die mittelfristige T3 nach unten kombiniert mit einem Abwärtstrend kreuzt, gehen Sie kurz. Darüber hinaus können die Bollinger Bands für Profit- und Stop-Loss verwendet werden. Wenn der Preis durch das obere Band bricht, sollten Sie Profit nehmen. Wenn der Preis durch das untere Band bricht, sollten Sie einen Stop-Loss in Betracht ziehen.

Insbesondere ist die lange Bedingung, dass der mittlere SMA über den mittleren T3 nach oben überschreitet und ein schneller MA größer ist als ein langsamer MA. Wenn der Preis durch das obere Bollinger-Band bricht oder der mittlere SMA unter T3 überschreitet, sollten Sie einen Gewinn in Betracht ziehen. Die kurze Bedingung ist, dass der mittlere SMA unter dem mittleren T3 nach unten überschreitet und ein schneller MA kleiner als ein langsamer MA ist. Wenn der Preis durch das untere Bollinger-Band bricht oder der mittlere SMA über T3 überschreitet, sollten Sie einen Stop-Loss in Betracht ziehen.

Vorteile

  • Vollständige Nutzung der Vorteile von mehreren gleitenden Durchschnitten, T3 für Glättung, mittlerer SMA für Trend, schneller und langsamer MAs für langfristigen Trend
  • Bollinger Bands Obergrenzen und Untergrenzen beurteilen Überkauf/Überverkauf, verringern das Verlustrisiko
  • Strenge Kombination von Handelssignalen, Vermeidung irreführender Schwankungen

Risiken

  • Unzulängliche T3-Parameter können nicht glätten oder Verzögerungen verursachen
  • Unzulässige Bollinger Bands-Parameter können zu ungültigen Bands führen
  • Falsche gleitende Durchschnittsperioden führen zu falscher Trendrichtung
  • Nicht präzise Ausbruchpunkte für Gewinn- und Stop-Loss-Aufnahmen, die zu früh oder zu spät ausfallen können

Verbesserungen

  • Anpassung der T3-Parameter für die Ausgleichsgleichung und Verzögerung
  • Anpassung der Bollinger-Band-Parameter an den normalen Schwankungsbereich
  • Versuche verschiedene gleitende Durchschnittsperioden, um geeignete für den Vermögenswert zu finden
  • Optimieren Sie die Gewinn- und Stop-Loss-Punkte basierend auf den Rücktestresultaten

Optimierungsrichtlinien

  • Hinzufügen von Trendstärke Indikator wie ADX, um eine Umkehr bei Trendwendepunkten zu vermeiden
  • Hinzufügen eines Volatilitätsindikators zur Anpassung von Parametern auf Basis der Marktvolatilität
  • Hinzufügen von Trailing Stop Loss, um mehr Gewinne auszuführen
  • Berücksichtigen Sie Breakout-Strategie, hinter dem Stop-Loss nach dem Brechen der Bands

Zusammenfassung

Zusammenfassend lässt sich sagen, dass diese Strategie systematisch gleitende Durchschnitte verwendet, um den Trend zu bestimmen, und überkaufte/überverkaufte Niveaus mit Bollinger Bands identifiziert. Sie kann bei Trendumkehrungen rechtzeitig in den Markt eintreten und auch Risiken effektiv kontrollieren.


/*backtest
start: 2023-10-25 00:00:00
end: 2023-11-01 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(shorttitle="BB T3 Strategy", title="BB T3 Strategy", overlay=true)

//T3
b = 0.7
c1 = -b*b*b
c2 = 3*b*b+3*b*b*b
c3 = -6*b*b-3*b-3*b*b*b
c4 = 1+3*b+b*b*b+3*b*b

t3(len) => c1 * ema(ema(ema(ema(ema(ema(close, len), len), len), len), len), len) + c2 * ema(ema(ema(ema(ema(close, len), len), len), len), len) + c3 * ema(ema(ema(ema(close, len), len), len), len) + c4 * ema(ema(ema(close, len), len), len)
//T3 end

length = input(20, minval=1)

mult = input(2.5, minval=0.001, maxval=50, title="StdDev")
basis = t3(length)
basisDev = t3(length/10)

dev = mult * stdev(basisDev,length)
upper = basis + dev
lower = basis - dev
offset = input(0, "Offset", type = input.integer, minval = -500, maxval = 500)
plot(basis, "Basis", color=#872323, offset = offset)
p1 = plot(upper, "Upper", color=color.teal, offset = offset)
p2 = plot(lower, "Lower", color=color.teal, offset = offset)
fill(p1, p2, title = "Background", color=#198787, transp=95)

stoploss = input(true, "Stop Loss")

basisSma = sma(close, length)
p3 = plot(basisSma, color=color.blue, title="MA", offset=offset)

fastT3 = t3(50)
slowT3 = t3(200)

crossUp = crossover(basisSma, basis)
crossDown = crossunder(basisSma, basis)
bollBounce = crossover(close, upper)
bollReject = crossunder(close, lower)
underBasis = crossunder(close, basis)
overBasis = crossover(close, basis)

trendUp = fastT3 > slowT3
trendDown = fastT3 < slowT3

strategy.entry("long", strategy.long, when=(trendUp and crossUp), stop=(stoploss ? high+syminfo.mintick : na))
strategy.close("long", when=(bollBounce or crossDown or underBasis))
strategy.entry("short", strategy.short, when=(trendDown and crossDown), stop=(stoploss ? low-syminfo.mintick : na))
strategy.close("short", when=(bollReject or crossUp or overBasis))


Mehr