Bohr-Band-Durchbruchsstrategie


Erstellungsdatum: 2023-09-21 10:38:13 zuletzt geändert: 2023-09-21 10:38:13
Kopie: 0 Klicks: 607
1
konzentrieren Sie sich auf
1617
Anhänger

Überblick

Die Strategie basiert auf einer Boll-Band-Indikator-Design, wenn der Preis durchbrechen Boll-Band auf der Unterbahn, nehmen Sie entsprechend zu tun oder zu tun. Die Strategie profitiert durch die Erfassung der Durchbruch Trends.

Strategieprinzip

  1. Berechnung der mittleren, oberen und unteren Schienen des Bolbandes
  2. Bei einem Ausbruch aus der Bahn abzuschalten; bei einem Aufbruch aus der Bahn freizulassen
  3. Setzen Sie eine Start- und Endzeit und begrenzen Sie die Handelsabstände
  4. Setzen Sie die Haltedauer und legen Sie die Position standardmäßig an diesem Tag frei.

Konkret berechnet die Strategie zunächst den langen mittleren SMA und den mehrfachen Standarddifferenz-Ober-Ober-Trail. Wenn der Schlusskurs von unten nach oben den Untertrail durchbricht, macht man einen Übertritt.

Die Strategie versucht, die Expansion nach dem Kursbruch zu erfassen. Beim Kursbruch ist der Kurs nach unten stärker, während der Kurs nach oben stärker ist, was den Handel in die gleiche Richtung fördert.

Analyse der Stärken

  1. Einfach, intuitiv, leicht zu verstehen und umzusetzen
  2. Der Bollinger Bands Index ist ein Trend-Tracker, mit dem man Breakouts erkennen kann.
  3. Flexibel anpassbare Parameter für verschiedene Zyklen und Sorten
  4. Die tägliche Ausgleichsphase, um das Übernachtungsrisiko zu kontrollieren
  5. Einzelne Multi- oder Leerhandelsgeschäfte

Risikoanalyse

  1. Ein falscher Durchbruch ist ein Risiko, dass der Preis nach dem Durchbruch wieder zurückschlägt.
  2. Die Parameter müssen zeitweise angepasst werden.
  3. Potenzielle Verluste erhöhen das Risiko. Eine Erweiterung des Durchbruchs kann die Einzelschäden erhöhen.
  4. Transaktionskosten erhöhen die Risiken. Häufige Transaktionen können die Kosten erhöhen.

Diese Risiken können durch die Optimierung der Einstiegsbedingungen, die Hinzufügung von Stop-Loss-Strategien und die Einführung von Trendfiltern verringert werden.

Optimierungsrichtung

  1. Optimierung der Parameter für unterschiedliche Zyklen
  2. Hinzufügen von Wiedereintritts- und Aufholbedingungen, um Trends zu verfolgen
  3. Erhöhung der Stop-Loss-Strategie zur Risikokontrolle
  4. Das ist eine sehr wichtige Frage, die sich in den letzten Jahren immer wieder gestellt hat.
  5. Beurteilung der Trendfilterbedingungen mit einem Kurvenfilter
  6. Verschiedene Haltezeiten getestet und Ergebnisse verglichen

Zusammenfassen

Die Strategie basiert auf einem Boll-Band-Break-Strategie, die durch die Erfassung von Breakouts profitiert. Der Vorteil ist, dass die Idee einfach ist und leicht umgesetzt werden kann. Der Nachteil ist, dass die Strategie leicht von Wendungsbewegungen abgeleitet werden kann.

Strategiequellcode
/*backtest
start: 2023-08-21 00:00:00
end: 2023-09-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=2
strategy("Noro's Bollinger Strategy v1.0", shorttitle = "Bollinger str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100.0, pyramiding = 5)

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

length = input(20, minval=1)
mult = input(1.0, minval=0.001, maxval=50)

fromyear = input(1900, defval = 1900, 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")

source = close
basis = sma(source, length)
dev = mult * stdev(source, length)

upper = basis + dev
lower = basis - dev

up = close < lower
dn = close > upper
exit = (strategy.position_size > 0 and close > open) or (strategy.position_size < 0 and close < open)

if up
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, 01, 00, 00) and time < timestamp(toyear, tomonth, 31, 00, 00)))

if dn
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, 01, 00, 00) and time < timestamp(toyear, tomonth, 31, 00, 00)))
    
if time > timestamp(toyear, tomonth, 31, 00, 00) or exit
    strategy.close_all()