Bollinger-Bänder und RSI-Trend nach Strategie

Schriftsteller:ChaoZhang, Datum: 2023-12-20 14:32:40
Tags:

img

Übersicht

Diese Strategie verwendet Bollinger-Bänder, RSI-Indikatoren und gleitende Durchschnittswerte für 200-Perioden, um die Trendrichtung zu identifizieren und Gegentrendgeschäfte in der Nähe der Bollinger-Bänder zu tätigen, wenn die Trendrichtung angemessen ist, um Gewinne zu erzielen.

Strategie Logik

Erstens wird der 200-Perioden- gleitende Durchschnitt verwendet, um die allgemeine Trendrichtung zu bestimmen. Ein Aufwärtstrend wird definiert, wenn der Preis über dem gleitenden Durchschnitt liegt, und ein Abwärtstrend wird definiert, wenn der Preis unterhalb liegt. Zweitens wird bei einem Aufwärtstrend ein Long-Eintrag ausgeführt, wenn der RSI-Indikator überverkauft zeigt und sich dem Bollinger-Unterband nähert; wenn in einem Abwärtstrend ein Short-Eintrag ausgeführt wird, wenn der RSI überkauft zeigt und sich dem Bollinger-Oberband nähert. Schließlich wird der ATR-Indikator verwendet, um das Stop-Loss-Niveau festzulegen, und der Take-Profit ist auf das 2-fache des Stop-Loss festgelegt.

Analyse der Vorteile

Der größte Vorteil dieser Strategie besteht darin, dass sie mehrere Indikatoren kombiniert, um die Trendrichtung und den Zeitpunkt der Einträge zu bestimmen. Erstens kann der 200-tägige gleitende Durchschnitt den Haupttrend effektiv identifizieren. Zweitens zeigen die oberen / unteren Banden von Bollinger-Bändern Bereiche an, in denen sich die Preise umkehren können. Schließlich schlägt der RSI ein mögliches Umkehrzeitpunkt vor. Die Verwendung mehrerer Indikatoren vermeidet das Risiko einer Fehleinschätzung aus einem einzigen.

Risikoanalyse

Die Hauptrisiken dieser Strategie stammen aus einer ungenauen Identifizierung der wichtigsten Trends und Umkehrsignale. Wenn der Trend falsch beurteilt wird, kann dies zu aufeinanderfolgenden Verlusten führen. Wenn Umkehrsignale falsch sind, wäre die Wahrscheinlichkeit, dass ein Stop-Loss ausgelöst wird, hoch. Außerdem hat der Gegentrendhandel selbst höhere Risiken, die einen vorsichtigen Betrieb erfordern.

Um die oben genannten Risiken zu mindern, ist es ratsam, die Parameter des gleitenden Durchschnitts anzupassen oder andere Indikatoren zur Bestätigung hinzuzufügen, um die Genauigkeit zu verbessern.

Optimierungsrichtlinien

Es gibt viel Raum für die Optimierung dieser Strategie: erstens, passen Sie die Parameter des gleitenden Durchschnitts an, um die Genauigkeit der Trendidentifikation zu verbessern. Zweitens, passen Sie die Parameter der Bollinger Bands an oder fügen Sie Kalman Channels hinzu, um Umkehrzonen besser zu lokalisieren. Drittens, fügen Sie andere Indikatoren wie MACD hinzu, um falsche Signale zu vermeiden. Viertens, optimieren Sie die Einstellung der Stop-Loss-Ratio, um die Wahrscheinlichkeit von tatsächlichen Stop-Loss-Ereignissen zu senken.

Schlussfolgerung

Diese Strategie kombiniert Bollinger Bands, RSI und gleitende Durchschnitte, um Trends und Timing zu bestimmen, und hat gute Ergebnisse erzielt.


/*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)



  

Mehr