Die Ressourcen sind geladen. Beförderung...

Bollinger-Bänder Doppelstandardabweichung Filterung 5-minütige quantitative Handelsstrategie

Schriftsteller:ChaoZhang, Datum: 2024-04-30 16:03:11
Tags:BollBBSMAstdev

img

Übersicht

Diese Strategie basiert auf dem Bollinger Bands Indikator und verwendet doppelte Standardabweichungsfilterung, um einen schnellen Handel in einem 5-minütigen Zeitrahmen zu erreichen. Sie kauft, wenn der Preis unter das untere Band bricht und verkauft, wenn er über das obere Band bricht. Die oberen und unteren Bands werden durch verschiedene Standardabweichungen festgelegt und mit verschiedenen Farben markiert, die die Stärke des Trends visuell zeigen.

Strategieprinzip

  1. Berechnen Sie die Bollinger-Bänder-Basislinie, Oberband 1, Oberband 2, Unterband 1 und Unterband 2.
  2. Erzeugen Sie ein Kaufsignal, wenn der Schlusskurs von unten über das untere Band 1 geht.
  3. Erzeugen eines Verkaufssignals, wenn der Schlusskurs von oben unter das obere Band 1 fällt.
  4. Nach dem Kauf schließen Sie die Position, wenn ein Verkaufssignal angezeigt wird.
  5. Der obere Band 2 und der untere Band 2 geben die Trendstärke an und liefern eine Hilfsbeurteilung.

Strategische Vorteile

  1. Die Doppelstandardabweichung verbessert die Genauigkeit der Trendbeurteilung.
  2. Die hohe Handelsfrequenz auf der 5-minütigen Ebene eignet sich für schnelle Ein- und Ausgänge.
  3. Eine Hilfsbeurteilung der Trendstärke hilft bei der Risikokontrolle.
  4. Anpassungsfähige Parameter passen sich den unterschiedlichen Märkten an.

Strategische Risiken

  1. Häufiger Handel kann zu hohen Provisionen führen.
  2. Fehler bei der Beurteilung des Trends werden Verluste mit sich bringen.
  3. Fehlende Stop-Loss-Maßnahmen führen zu größeren Risiken.
  4. Unzureichendes Verständnis einseitiger Trends.

Strategieoptimierungsrichtlinien

  1. Einführung von Stop-Loss- und Take-Profit-Mechanismen zur Kontrolle von Einzeltransaktionsrisiken.
  2. Optimierung der Bollinger-Band-Parameter zur Verbesserung der Fähigkeit zur Erfassung von Trends
  3. Hinzufügen von Hilfsindikatoren für die Beurteilung des Trends, wie z. B. MA, um die Gewinnrate zu erhöhen.
  4. Festlegen von Filterbedingungen für die Märkte mit Bandbreite.

Zusammenfassung

Diese Strategie nutzt die statistischen Eigenschaften von Bollinger Bands, mit Doppelschichtfilterung, um das Trendbeurteilen zu verbessern, geeignet für die schnelle Erfassung von Trendchancen auf dem 5-Minuten-Niveau. Allerdings müssen Probleme mit häufigem Handel und unzureichenden Risikokontrollmaßnahmen immer noch optimiert werden. In Zukunft können Verbesserungen in Bezug auf Stop-Loss und Take-Profit, Parameteroptimierung und Hilfsbeurteilung zur Steigerung der allgemeinen Robustheit und Rentabilität weiter vorgenommen werden.


/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
//This displays the traditional Bollinger Bands, the difference is
//that the 1st and 2nd StdDev are outlined with two colors and two
//different levels, one for each Standard Deviation

strategy("Five Min Scalping Strategy", overlay=true)

src = input(close, title="Source")
length = input.int(20, minval=1, title="Length")
mult = input.float(2.0, minval=0.001, maxval=50, title="Multiplier")

basis = ta.sma(src, length)
dev = ta.stdev(src,length)
dev2 = mult * dev

upper1 = basis + dev
lower1 = basis - dev
upper2 = basis + dev2
lower2 = basis - dev2

LongCondition = close[1] < lower1 and close > lower1
ShortCondition = close[1] > upper1 and close < upper1

strategy.entry("Long", strategy.long, when = LongCondition)
strategy.entry("Short", strategy.short, when = ShortCondition)

strategy.close("Long", when = ShortCondition)
strategy.close("Short", when = LongCondition)

colorBasis = src >= basis ? color.blue : color.orange

pBasis = plot(basis, linewidth=2, color=colorBasis)
pUpper1 = plot(upper1, color=color.new(color.blue, 0), style=plot.style_circles)
pUpper2 = plot(upper2, color=color.new(color.blue, 0), style=plot.style_circles)
pLower1 = plot(lower1, color=color.new(color.orange, 0), style=plot.style_circles)
pLower2 = plot(lower2, color=color.new(color.orange, 0), style=plot.style_circles)

fill(pBasis, pUpper2, color=color.new(color.blue, 80))
fill(pUpper1, pUpper2, color=color.new(color.blue, 80))
fill(pBasis, pLower2, color=color.new(color.orange, 80))
fill(pLower1, pLower2, color=color.new(color.orange, 80))


Verwandt

Mehr