Trendfolgestrategie basierend auf Bollinger Bands und RSI


Erstellungsdatum: 2023-12-20 14:32:40 zuletzt geändert: 2023-12-20 14:32:40
Kopie: 0 Klicks: 817
1
konzentrieren Sie sich auf
1621
Anhänger

Trendfolgestrategie basierend auf Bollinger Bands und RSI

Überblick

Die Strategie nutzt Bollinger Bands, RSI-Indikatoren und 200-periodische Moving Averages, um die Richtung des Trends zu identifizieren, und tritt bei einer geeigneten Trendrichtung in die Nähe des Bollinger Bands auf und ab und erzielt so einen Gewinn.

Strategieprinzip

Zuerst wird die Richtung des Trends anhand eines 200-Perioden-Moving Averages beurteilt, wobei der Preis als Mehrkopf-Trend definiert wird, wenn er steigt, und der Preis als Leerkopf-Trend, wenn er fällt. Zweitens wird ein Kauf-Operation ausgeführt, wenn der RSI-Indikator überverkauft ist und sich dem Bolling-Band nähert, wenn er im Mehrkopf-Trend ist.

Analyse der Stärken

Der größte Vorteil dieser Strategie liegt in der Kombination mehrerer Indikatoren, um die Richtung und den Zeitpunkt des Handels zu bestimmen. Erstens, der 200-Tage-Moving Average ist ein wirksamer Indikator für die Richtung des großen Trends. Zweitens, der Brin-Band auf dem Weg nach unten zeigt die Bereiche an, in denen sich der Preis möglicherweise umdrehen kann.

Risikoanalyse

Das Hauptrisiko dieser Strategie besteht darin, dass ein großer Trendfehler und ein umgekehrter Signal fehlerhaft sind. Wenn ein großer Trendfehler fehlerhaft ist, ist es wahrscheinlich, dass ein fortlaufender Verlust entsteht. Wenn ein umgekehrter Signal fehlerhaft ist, ist die Wahrscheinlichkeit, dass ein Stop-Loss ausgelöst wird, relativ hoch.

Um die oben genannten Risiken zu vermeiden, wird empfohlen, die Moving Average-Parameter entsprechend anzupassen oder andere Indikatoren zur Bestätigung hinzuzufügen, um die Richtigkeit der Beurteilung zu verbessern. Darüber hinaus wird empfohlen, die Stop-Loss-Marge entsprechend zu lockern, um zu verhindern, dass Stop-Loss zu leicht ausgelöst wird.

Optimierungsrichtung

Die Strategie hat viel Optimierungsraum und kann in folgenden Bereichen eingesetzt werden: 1. Anpassung der Moving Average-Parameter zur Optimierung der Genauigkeit bei der Beurteilung großer Trends; 2. Anpassung der Brin-Band-Parameter oder Erhöhung der Kalman-Kanäle, um die Wirksamkeit der Beurteilung der Preisumkehrzone zu verbessern; 3. Hinzufügung anderer Indikatoren wie MACD zur Umkehrbestätigung und zur Verringerung der falschen Signale; 4. Optimierung der Stop-Loss-Ratio-Einstellungen zur Verringerung der Wahrscheinlichkeit, dass ein tatsächlicher Stop-Loss ausgelöst wird.

Zusammenfassen

Die Strategie kombiniert Brin-Bands, RSI-Indikatoren und Moving Averages, um Trends und Handelszeiten zu bestimmen. Die Strategie hat gute Ergebnisse erzielt. Es ist jedoch noch notwendig, die Parameter-Setting und das Risikomanagement weiter zu optimieren, um die stabile Profitabilität zu verbessern.

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

//@version=4
strategy("Gab EMA + rsi + bb", overlay=true)
// Custom RSI
RSIlength = input(3, minval=1 , title="lookback length of RSI")
RSIOverBought = input(70, title="RSI OB")
RSIOverSold = input(30, title="RSI OS")
RSIprice = close
vrsi = rsi(RSIprice, RSIlength)


//Bollinger Bands
BBlength = input(20, minval=1,title="Bollinger Period Length")
BBmult = input(2.0, minval=0.001, maxval=50, title="Bollinger Bands Standard Deviation")
BBbasis = sma(close, BBlength)
BBdev = BBmult * stdev(close, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev
source = close

//EMA
emaLength=input(200)

//Set TP and SL values
sl_short = high + (syminfo.mintick * 5 * 10)
tp_short = low - (syminfo.mintick * 10 * 10)
sl_long = low - (syminfo.mintick * 5 * 10)
tp_long = high + (syminfo.mintick * 10 * 10)


//Strategy Entry and Exit
strategy.entry("sell", strategy.short, when = low < ema(low, emaLength) and vrsi < RSIOverSold and low < BBlower and barstate.isconfirmed)
strategy.exit("closeshort", from_entry="sell", limit=tp_short, stop=sl_short, when=strategy.position_size != 0)

strategy.entry("buy", strategy.long, when = high > ema(high, emaLength) and vrsi > RSIOverBought and high > BBupper and barstate.isconfirmed)
strategy.exit("closelong", from_entry="buy", limit=tp_long, stop=sl_long, when=strategy.position_size != 0)