Diese Strategie basiert auf dem Bollinger Bands-Indikator, bei dem lange oder kurze Positionen eingenommen werden, wenn der Preis aus den oberen oder unteren Linien der Bollinger Bands ausbricht.
Es berechnet zunächst die mittlere SMA der Längenlänge und die oberen/unteren Linien von mehrfacher Standardabweichung. Wenn der Schluß von der unteren Linie nach oben bricht, gehen Sie lang. Wenn der Schluß von der oberen Linie nach unten bricht, gehen Sie kurz. Setzen Sie auch die Start- und Endzeit, um die Handelszeiten zu begrenzen. Verlassen Sie vor der täglichen Öffnung.
Die Strategie versucht, expandierende Bewegungen zu erfassen, nachdem der Preis aus den Bands ausbricht. Das Durchbrechen des unteren Bands zeigt eine Stärkung der bullischen Kräfte an, während das Durchbrechen des oberen Bands eine Stärkung der bärischen Kräfte bedeutet, so dass der Handel im Einklang mit dem Durchbruch günstig ist.
Die Risiken können durch Optimierung der Einstiegsregeln, Hinzufügen von Stop-Loss, Einführung von Trendfiltern usw. verringert werden.
Dies ist eine Breakout-Strategie, die auf Bollinger Bands basiert. Sie profitiert von Breakout-Bewegungen. Die Vorteile sind einfache Logik und einfache Implementierung; die Nachteile sind anfällig für falsche Breakouts. Die Risiken können durch Parameteroptimierung, Stop-Loss, Handelszeitenkontrolle usw. verwaltet werden.
/*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()