Diese Strategie erzeugt Handelssignale auf Basis des Bollinger Bands-Indikators und verwaltet Positionen mit Stop-Loss/Take-Profit. Sie überwacht den Ausbruch der oberen und unteren Banden der Bollinger Bands, geht lang, wenn der Preis über das obere Band bricht, geht kurz, wenn der Preis das untere Band bricht, und geht aus, wenn der Preis die Bands umgekehrt mit Stop-Loss-Orders bricht.
Die Strategie verwendet die mittleren, oberen und unteren Bands des Bollinger Bands Indikators. Das mittlere Band ist der gleitende Durchschnitt, das obere Band ist das mittlere Band plus 2 Standardabweichungen und das untere Band ist das mittlere Band minus 2 Standardabweichungen.
Zuerst berechnet es die Bollinger Bands mittlere, obere und untere Bands. Dann überprüft es, ob der Preis über das obere Band oder unter das untere Band bricht. Wenn der Preis über das obere Band bricht, geht er lang. Wenn der Preis unter das untere Band bricht, geht er kurz. Auch wenn der Preis die Bands umgekehrt bricht, tritt er mit Stop-Loss-Orders aus.
Insbesondere ist die Strategielogik:
Dies ermöglicht es, Trends zu erfassen, wenn der Preis große Bewegungen macht, während Verluste mit Stop-Loss begrenzt werden.
Kann durch Kombination von Indikatoren, Anpassung von Stop-Loss-Einheiten usw. optimiert werden.
Dies ist ein relativ einfacher Trend, der der Strategie nach Bollinger Bands folgt. Er kann schnell Positionen einnehmen, wenn der Preis ausbricht und Stop-Loss verwendet, um das Risiko zu kontrollieren. Aber wenn man sich ausschließlich auf den Preis verlässt, kann dies zu Fehleinschätzungen führen, während ein sensibler Stop-Loss die Handelsfrequenz erhöhen kann. Wir können ihn durch Parameter-Tuning, Kombination von Indikatoren, Anpassung von Stops usw. weiter verbessern. Insgesamt bietet er einen einfachen und zuverlässigen Quant-Trading-Rahmen.
/*backtest start: 2023-09-26 00:00:00 end: 2023-10-26 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © ROBO_Trading //@version=5 strategy(title = "Bollinger Stop Strategy", shorttitle = "BBStop", overlay = true, default_qty_type = strategy.percent_of_equity, initial_capital = 10000, default_qty_value = 100, commission_value = 0.1) //Settings long = input(true) short = input(true) length = input.int(20, minval=1) mult = input.float(2.0, minval=0.001, maxval=50) source = input(close) showbb = input(true, title = "Show Bollinger Bands") showof = input(true, title = "Show Offset") startTime = input(defval = timestamp("01 Jan 2000 00:00 +0000"), title = "Start Time", inline = "time1") finalTime = input(defval = timestamp("31 Dec 2099 23:59 +0000"), title = "Final Time", inline = "time1") //Bollinger Bands basis = ta.sma(source, length) dev = mult * ta.stdev(source, length) upper = basis + dev lower = basis - dev //Show indicator offset = showof ? 1 : 0 colorBasis = showbb ? color.gray : na colorUpper = showbb ? color.blue : na colorLower = showbb ? color.blue : na colorBands = showbb ? color.blue : na p0 = plot(basis, "Basis", color = colorBasis, offset = offset) p1 = plot(upper, "Upper", color = colorUpper, offset = offset) p2 = plot(lower, "Lower", color = colorLower, offset = offset) fill(p1, p2, title = "Background", color = colorBands, transp = 90) //Trading truetime = true if basis > 0 and truetime if long strategy.entry("Long", strategy.long, stop = upper, when = truetime) if short strategy.entry("Short", strategy.short, stop = lower, when = truetime) if long == false strategy.exit("Exit", "Short", stop = upper) if short == false strategy.exit("Exit", "Long", stop = lower) if time > finalTime strategy.close_all()