God
Die Kernlogik dieser Strategie beruht auf folgenden Punkten:
Berechnen Sie den einfachen gleitenden 20-Perioden-Durchschnitt des Schlusskurses als mittlere Basisband.
Berechnen Sie die oberen und unteren Bands anhand des mittleren Bandes. Das obere Band ist das mittlere Band + 2 mal die 20-Perioden-Standard-Abweichung des Schlusskurses, und das untere Band ist das mittlere Band - 2 mal die 20-Perioden-Standard-Abweichung des Schlusskurses.
Berechnen Sie den 14-Perioden-RSI-Indikator, um überkaufte und überverkaufte Phänomene zu beurteilen.
Wenn der Schlusskurs die obere Schiene nach oben durchbricht und der RSI-Indikator ein Überverkaufssignal zeigt, wird ein Kaufsignal generiert.
Wenn der Schlusskurs durch die obere Schiene nach unten bricht und der RSI-Indikator ein Überkaufsignal zeigt, wird ein Verkaufssignal generiert.
Diese Strategie beurteilt den Rhythmus und die Geschwindigkeit der Kursschwankungen durch den Bollinger Bands-Indikator und erkennt mit dem RSI-Indikator mögliche Umkehrpunkte, um Handelssignale auszugeben.
Der Bollinger Bands-Indikator kann den Rhythmus und die Richtung der Marktvolatilität bestimmen, und der RSI-Indikator beurteilt überkaufte und überverkaufte Phänomene.
Die RSI-Indikatorparameter sind einstellbar und können unterschiedliche Überkauf- und Überverkaufswerte für verschiedene Märkte festlegen, um falsche Signale zu vermeiden.
Die Bollinger-Bands-Parameter können auch entsprechend dem Marktvolatilitätsbereich und der Geschwindigkeit angepasst werden, um geeignete Parameter festzulegen und die Rentabilität zu verbessern.
Das Durchbrechen der oberen Spur bildet ein Kaufsignal, und das Durchbrechen der oberen Spur nach unten bildet ein Verkaufssignal.
Kann an Aktien-, Devisen- und Kryptowährungsmärkten verwendet werden.
In einem anhaltenden Aufwärtsmarkt kann es zu mehreren Fehleinschätzungen von Kaufsignalen führen.
In einem unruhigen Markt schwanken die oberen und unteren Spuren der Bollinger Bands häufig, was zu häufigen unrentablen Trades führen kann.
Der Kodex geht davon aus, dass die Kriterien für Überkauf und Überverkauf festgelegt sind, aber sie sollten je nach unterschiedlichen Marktvolatilitätsniveaus festgelegt werden.
Sowohl Bollinger-Bänder als auch RSI-Indikatoren weisen Verzögerungen auf und können Preisbewegungen nicht im Voraus vorhersagen, sondern nur Preisänderungen verfolgen.
Nach den Merkmalen verschiedener Märkte die Parameter der Bollinger-Bänder anpassen, die Breite der Bollinger-Bänder erhöhen und die Wahrscheinlichkeit fehlerhafter Transaktionen verringern.
Außerdem müssen die RSI-Parameter für verschiedene Märkte angepasst und die Kriterien für Überkauf und Überverkauf angemessen erhöht werden, um zu vermeiden, dass mehrere falsche Handelssignale auslösen.
Erhöhen Sie die Anzahl anderer Indikatoren, wie KDJ und MACD, um Fehler zu vermeiden, die durch einzelne Bollinger-Bänder und RSI-Indikatoren verursacht werden.
Steigern Sie die Stop-Loss-Strategie und legen Sie angemessene Stop-Loss-Punkte fest, um übermäßige Verluste zu vermeiden.
Breakout-Testing oder Backtesting-Parameteroptimierung können zur weiteren Verbesserung der Strategie-Stabilität in Betracht gezogen werden.
God
/*backtest start: 2023-01-16 00:00:00 end: 2024-01-22 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Bollinger Band + RSI Strategy", overlay=true) // Input variables numCandlesOutsideBB = input(3, "Number of Candles Outside BB") numCandlesOutsideUpperBB = input(3, "Number of Candles Outside Upper BB") rsiLength = input(14, "RSI Length") rsiOversoldLevel = input(20, "RSI Oversold Level") rsiOverboughtLevel = input(70, "RSI Overbought Level") // Bollinger Bands length = input(20, minval=1, title="BB Length") mult = input(2.0, minval=0.001, maxval=50, title="BB Standard Deviation") basis = sma(close, length) dev = mult * stdev(close, length) upperBB = basis + dev lowerBB = basis - dev // RSI rsi = rsi(close, rsiLength) // Buy condition buyCondition = crossover(close, upperBB) and rsi > rsiOversoldLevel // Sell condition sellCondition = crossunder(close, upperBB) and rsi > rsiOverboughtLevel // Strategy if buyCondition strategy.entry("Buy", strategy.long) if sellCondition strategy.close("Buy") // Plotting plot(upperBB, color=color.blue) plot(lowerBB, color=color.red) plot(rsi, "RSI", color=color.green)