Handelsstrategie mit doppelter Standardabweichung basierend auf Bollinger-Bändern


Erstellungsdatum: 2023-12-18 17:23:42 zuletzt geändert: 2023-12-18 17:23:42
Kopie: 0 Klicks: 746
1
konzentrieren Sie sich auf
1621
Anhänger

Handelsstrategie mit doppelter Standardabweichung basierend auf Bollinger-Bändern

Überblick

Die Strategie ist eine Handelsstrategie, die auf dem Brin-Band-Doppelstandarddifferenzmodell basiert. Sie nutzt die Brin-Band-Ober- und Unterbahn sowie die Standarddifferenz 1 und 2 als Handelssignale. Wenn der Preis die Brin-Band-Oberbahn durchbricht, macht man einen Plus, wenn der Preis die Brin-Band-Unterbahn durchbricht, macht man einen Minus.

Strategieprinzip

Die Strategie berechnet zuerst die mittlere, obere und untere Bahn des Brin-Bandes. Die mittlere Bahn ist die SMA für CLOSE, die obere Bahn ist die mittlere Bahn + 2*Standardschlechter, Unterbahn ist Mittelschiene-2*Die Strategie zeichnet außerdem die Linien der mittleren Bahn + 1 Standarddifferenz und der mittleren Bahn - 1 Standarddifferenz. Sie werden als Stop-Loss verwendet. Die spezifische Logik ist:

  1. Berechnung des CLOSE-SMAs als Brin-Band-Mittelbahn
  2. Berechnen Sie die Standarddifferenz STD für CLOSE und berechnen Sie 2*STD
  3. Mittelbahn + 2*STD für Brin auf Gleis, mittlerer Gleis-2*Die STD hat Brin aus der Bahn geworfen
  4. Wenn die Preise auf die Bahn gehen
  5. Wenn der Preis aus der Bahn geht, machen Sie eine Ausgabe.
  6. Mittelbahn + 1*STD als Stop-Line, wenn die Stop-Line durchbrochen wird, wird die Position platziert

Strategische Vorteile

  1. Mit doppelter Standarddifferenz-Design, strengere Durchbruch-Urteil, um falsche Signale zu vermeiden
  2. Mit einem doppelten Stop-Line-Design, um das Risiko zu maximieren
  3. Parameteroptimierung mit großem Raum, mittlerer Umlaufphase und Standarddifferenz-Multiplikatoren
  4. Der Rückzug kann durch Anpassung der Stop-Loss-Position gesteuert werden

Strategisches Risiko

  1. Die Brin-Band-Strategie führt zu falschen Durchbrüchen, was zu ungenauen Handelssignalen führt.
  2. Doppelstandardabweichung und doppelte Stop-Line-Einstellungen können zu streng sein, was zu einer geringeren Chance führt, dass das Signal gelöscht wird
  3. Unkorrekt eingestellte Parameter können das Risiko für die Strategie erhöhen
  4. Rücknahme-Kontrollen sind unvollkommen und können Verluste bei Extremsituationen nicht wirksam kontrollieren.

Richtung der Strategieoptimierung

  1. In Kombination mit anderen Indikatoren kann eine Filterung der Handelssignale in den Rubelbändern in Betracht gezogen werden, um falsche Durchbrüche zu vermeiden.
  2. Verschiedene Parameter-Einstellungen können getestet und optimiert werden, um bessere Gewinn-Rückgewinn-Verhältnisse zu erzielen
  3. Dynamische Stop-Mechanismen können entworfen werden, z. B. Tracking-Stop oder Balance-Ratio-Stop
  4. Automatische Optimierungsparameter, die mit einem Machine Learning-Algorithmus kombiniert werden können

Zusammenfassen

Die Strategie ist insgesamt eine typische Brin-Band-Break-Strategie. Sie nutzt die doppelte Standardabweichung, um die Signalentscheidungsschärfe zu erhöhen, und verwendet die doppelte Stop-Line, um das Risiko aktiv zu kontrollieren. Die Strategie hat einen gewissen Optimierungsraum für die Parameter, um eine bessere Strategie-Performance zu erzielen, indem sie die mittlere Bahn-Periode, die Standard-Differenz-Doppelzahl und andere Parameter anpasst.

Strategiequellcode
/*backtest
start: 2022-12-11 00:00:00
end: 2023-12-17 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
// Bollinger Bands: Madrid : 14/SEP/2014 11:07 : 2.0
// 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(shorttitle='MBB', title='Bollinger Bands', overlay=true)
src = input(close)
length = input.int(34, minval=1)
mult = input.float(2.0, minval=0.001, maxval=50)

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

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))
pLower1 = plot(lower1, color=color.new(color.orange, 0), style=plot.style_circles)
pLower2 = plot(lower2, color=color.new(color.orange, 0))

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))

// Entry conditions
longCondition = ta.crossover(close, upper1)
shortCondition = ta.crossunder(close, lower1)

// Entry and exit strategy
strategy.entry("Buy", strategy.long, when=longCondition)
strategy.entry("Sell", strategy.short, when=shortCondition)

strategy.close("Buy", when=shortCondition)
strategy.close("Sell", when=longCondition)