Dual-B-Intelligente Verfolgungsstrategie

Schriftsteller:ChaoZhang, Datum: 2024-01-18 15:41:20
Tags:

img

Dies ist eine Handelsstrategie, die Bollinger Bands verwendet. Die Strategie zielt darauf ab, Chancen zu identifizieren, wenn die Preise mit Bollinger Bands heftig schwanken und entsprechende Kauf- oder Verkaufsentscheidungen treffen.

Strategieprinzip

Die Strategie berechnet das obere Band, das mittlere Band und das untere Band der Bollinger Bands, um festzustellen, ob der aktuelle Preis innerhalb des volatilen Bereichs liegt und somit Entscheidungen über die Eröffnung oder Schließung von Positionen trifft. Wenn der Preis sich dem oberen Band nähert, wird er als extremer Punkt für Longs angesehen und die Strategie entscheidet, lange Positionen zu schließen. Wenn der Preis in der Nähe des unteren Bandes fällt, wird er als extremer Punkt für Shorts angesehen und die Strategie entscheidet, lange Positionen zu eröffnen.

Darüber hinaus führt die Strategie auch Trendumkehrfaktoren ein. Wenn es ein Umkehrsignal gibt, löst sie auch entsprechende Kauf- oder Verkaufsentscheidungen aus.

  1. Berechnung der oberen, mittleren und unteren Bollinger Bands
  2. Beurteilen, ob der Preis durch die Bands und Umkehrsignale bricht
    1. Durchbrechen des mittleren Bandes als Trendsignal
    2. In der Nähe des oberen oder unteren Bandes als Umkehrsignale
  3. Auftragssendung

Das ist die grundlegende Handelslogik dieser Strategie. Durch die Nutzung der Eigenschaften von Bollinger Bands und die Kombination von Trend- und Umkehrfaktoren versucht die Strategie, Umkehrpunkte zu erfassen, wenn die Volatilität steigt.

Vorteile der Strategie

Im Vergleich zu gewöhnlichen gleitenden Durchschnittsstrategien hat diese Strategie folgende Vorteile:

  1. Sensibler, fähig, Chancen zu ergreifen, wenn die Preise heftig schwanken
  2. Kombination von Trend- und Umkehrfaktoren, um Verluste durch vorzeitige Umkehrungen zu vermeiden
  3. Hat einen gewissen FILTER-Effekt, um unnötige Käufe/Verkäufe in nicht volatilen Bereichen zu vermeiden
  4. Beurteilen Sie die Haupttrendrichtung durch das mittlere Band, um die Handelsfrequenz zu reduzieren
  5. Steigerung der Umkehrfilterbedingungen zur Verringerung von Fehleinschätzungen

Im Allgemeinen kombiniert diese Strategie Bollinger-Bänder und Preisbalken relativ gut.

Risiken und Optimierung

Allerdings bestehen bei dieser Strategie noch einige Risiken:

  1. Unzulängliche BB-Parameter können Preisschwankungen nicht vollständig erfassen
  2. Unrichtiges Umkehrsignal, fehlende Umkehrungen oder falsche Umkehrungen
  3. Schlechte Wirksamkeit von Signalen im mittleren Band bei unklarer Entwicklung

Folglich können sich zukünftige Optimierungen auf folgende Bereiche konzentrieren:

  1. Adaptive Optimierung der BB-Parameter auf der Grundlage verschiedener Produkte
  2. Erhöhung von Modellen für maschinelles Lernen zur Bewertung der Umkehrwahrscheinlichkeit
  3. Wechseln Sie zu anderen Indikatoren, wenn der Trend unklar ist
  4. Kombinieren Sie mehr Preismuster, um Handelssignale zu filtern

Schlussfolgerung

Zusammenfassend ist dies eine typische Bollinger Bands-Handelsstrategievorlage. Sie vermeidet übermäßige ineffektive Trades, die für die Verwendung von Bollinger Bands allein üblich sind, indem sie Trendsumkehrurteile für die Filtersignale einführt, was theoretisch zu einer guten Strategieleistung führen kann.


/*backtest
start: 2023-12-18 00:00:00
end: 2024-01-17 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=3
strategy("Noro's Bollinger Strategy v1.2", shorttitle = "Bollinger str 1.2", overlay = true )

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")

length = input(20, defval = 20, minval = 1, maxval = 1000, title = "Bollinger Length")
mult = input(2.0, defval = 2.0, minval = 0.001, maxval = 50, title = "Bollinger Mult")
source = input(ohlc4, defval = ohlc4, title = "Bollinger Source")

uset = input(true, defval = true, title = "Use trend entry")
usect = input(true, defval = true, title = "Use counter-trend entry")

fromyear = input(2018, defval = 2018, 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")
showbands = input(true, defval = true, title = "Show Bollinger Bands")

//Bollinger Bands
basis = sma(source, length)
dev = mult * stdev(source, length)
upper = basis + dev
lower = basis - dev

//Lines
col = showbands ? black : na 
plot(upper, linewidth = 1, color = col)
plot(basis, linewidth = 1, color = col)
plot(lower, linewidth = 1, color = col)

//Body
body = abs(close - open)
abody = ema(body, 30)

//Signals
bar = close > open ? 1 : close < open ? -1 : 0 
up1 = bar == -1 and close >= basis and close < upper and (close < strategy.position_avg_price or strategy.position_size == 0) and uset
dn1 = bar == 1 and close <= basis and close > lower and (close > strategy.position_avg_price or strategy.position_size == 0) and uset
up2 = close <= lower and usect
dn2 = close >= upper and usect
exit = (strategy.position_size > 0 and close > open) or (strategy.position_size < 0 and close < open) and body > abody / 2

//Trading
if up1 or up2
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na)

if dn1 or dn2
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na)
    
if exit
    strategy.close_all()

Mehr