RSI Bollinger Bands Kurzfristige Handelsstrategie

Schriftsteller:ChaoZhang, Datum: 2023-12-19 11:31:09
Tags:

img

Übersicht

Diese Strategie kombiniert den Relative Strength Index (RSI) und Bollinger Bands, um eine kurzfristige Handelsstrategie zu konstruieren. Sie nutzt hauptsächlich die Kauf- und Verkaufssignale, wenn der RSI die oberen oder unteren Bollinger Bands durchbricht.

Strategie Logik

  1. Der RSI-Indikator wird mit einem 14-Perioden-Parameter berechnet.
  2. Berechnen Sie den Bollinger-Mitteband anhand des gewichteten gleitenden Durchschnitts des RSI mit einer Periode von 25.
  3. Berechnen Sie das obere Band und das untere Band der Bollinger-Bänder. Das obere Band ist das mittlere Band plus die Amplitude, während das untere Band das mittlere Band minus die Amplitude ist.
  4. Gehen Sie lang, wenn der RSI das untere Band durchbricht, und kurz, wenn der RSI das obere Band durchbricht.
  5. Stellen Sie einen Stop-Loss-Mechanismus ein, bei dem die Long-Position geschlossen wird, wenn der Kurs unter 6% des Long-Eintrittspreises fällt.

Analyse der Vorteile

Diese Strategie kombiniert die Stärken des RSI und der Bollinger Bands für den kurzfristigen Handel.

  1. Die Kombination von Bollinger Bands erhöht die Genauigkeit der Handelssignale.
  2. Die Bollinger-Bänder sind dynamisch, so dass sie die Bandbreite automatisch anhand der Marktvolatilität anpassen.
  3. Die Stop-Loss-Einstellung ist mit einer Toleranz von 6% für normale Schwankungen bei Kontrolle von Verlusten angemessen.

Risikoanalyse

Zu den potenziellen Risiken dieser Strategie gehören:

  1. Der RSI weist rückläufige Eigenschaften auf und kann schnelle Umkehrmöglichkeiten verpassen.
  2. Falsche Bollinger Bands-Parameter oder drastische Marktschwankungen können schlechte Signale verursachen.
  3. Eine unkluge Einstellung des Stop-Loss-Parameters kann zu unnötigen Verlusten führen.

Lösungen:

  1. Für ein umfassendes Urteil sollten andere Indikatoren wie KDJ kombiniert werden.
  2. Dynamische Optimierung der Parameter für verschiedene Märkte.
  3. Backtest und Optimierung des Stop-Loss-Parameters für eine optimale Einstellung.

Optimierungsrichtlinien

Es gibt Raum für weitere Optimierungen:

  1. Änderungen des festgelegten Stop-Loss auf dynamischen Trailing-Stop-Loss entsprechend der Kursschwankungen.
  2. Hinzufügen von Bollinger Band Width Index Regeln, um den Handel zu pausieren, wenn sich die Bands zu stark erweitern oder zusammenziehen.
  3. Kombination von Volumenindikatoren wie Chaikin Cash Flow für eine bessere Bestätigung.

Zusammenfassung

Zusammenfassend ist dies eine relativ stabile und zuverlässige kurzfristige Handelsstrategie. Durch die Kombination der Stärken des überkauften-überverkauften Urteils des RSI und der anpassungsfähigen Bandbreite der Bollinger Bands bildet es ein vorteilhaftes kurzfristiges System. Mit Parameter-Tuning und Logikverfeinerung kann diese Strategie konsistente Gewinne erzielen.


/*backtest
start: 2022-12-12 00:00:00
end: 2023-10-13 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("rsi+bb st", shorttitle="rsibb st 0.3")

len_rsi=input(14)
len_bb = input(25)
mul10 = input(20.0)
mul=mul10/10
sl100 = input(94.0, title='stop loss rate')
sl=sl100/100

lw = 3

vwma_e(src, len) =>
    ema(src*volume, len)/ema(volume,len)

rsi = rsi(close, len_rsi)
plot(rsi, color=blue, title= 'rsi blue', linewidth=lw)
plot(70, color=gray, title='line 70', linewidth=lw)
plot(30, color=gray, title='line 30', linewidth=lw)

bbg = stdev(rsi, len_bb)*mul
bbc = vwma_e(rsi, len_bb)
//bbc=ema(rsi,len_bb)
ratio = 0.6
bbc := bbc*ratio + 50*(1-ratio)

bbu = bbc+bbg
bbl = bbc-bbg
plot(bbu, color=green, title='bb_up green', linewidth=lw)
plot(bbl, color=red, title='bb_low red', linewidth=lw)
plot(bbc, color=#808000ff, title='bb center', linewidth=lw)

plot(50, color=black)

lc = crossover(rsi, bbl) //or crossover(rsi, bbc)
sc = crossunder(rsi, bbu)

last_pos = 0*close
if lc
    last_pos := 1
else
    last_pos := last_pos[1]
if sc
    last_pos := 2

last_price = 0*close
if last_pos[1] !=1 and last_pos == 1
    last_price := close
else
    last_price := last_price[1]
    
if last_pos==1 and close < last_price*sl
    lc:=false
    sc:=true
    last_pos:=2

if (lc)
    strategy.entry("long", strategy.long)

if (sc)
    strategy.entry("short", strategy.short)

Mehr