Die RSI-BB-Momentum-Breakout-Strategie kombiniert den Relative Strength Index (RSI) und die Bollinger Bands (BB) -Indikatoren für den Breakout-Handel. Sie verwendet den RSI zur Bestimmung von Markttrends und Überkauf-/Überverkaufsniveaus und den BB zur Identifizierung von Breakout-Punkten. Wenn sich sowohl die RSI- als auch die BB-Signale ausrichten, wird die Strategie entsprechend lange oder kurze Trades eingehen.
Der Code berechnet zunächst die Indikatoren RSI und BB.
Der RSI wird berechnet:
up = rma(max(change(close), 0), 30)
down = rma(-min(change(close), 0), 30)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
Bei Up wird die Preissteigerung über 30 Perioden gemessen, bei Down wird die Preisbewegung nach unten gemessen, wobei rsi auf der Grundlage des Verhältnisses zwischen Up und Down berechnet wird.
Die BB wird berechnet:
basis = sma(close, 50)
dev = 0.2 * stdev(close, 50)
upper = basis + dev
lower = basis - dev
Die Basis ist der gleitende 50-Perioden-Durchschnitt, dev ist das 0,2fache der Standardabweichung, oberer und unterer Bereich sind die Bands.
bbi ist der als:
bbr = close>upper? 1 : close<lower? -1 : 0
bbi = bbr - bbr[1]
bbr überprüft, ob der Schnitt zwischen dem oberen oder unteren Band bricht. Breakout ist 1, Ausfall ist -1, andernfalls ist 0. bbi ist die Differenz zwischen aktuellem und vorhergehendem bbr. Positiv bbi zeigt Aufbruch, negativ zeigt Abbruch an.
Die Strategiesignale werden wie folgt bestimmt:
long = rsi>52 and rsi<65 and bbi>0.11 and bbi<0.7
short = rsi<48 and rsi>35 and bbi<-0.11 and bbi>-0.7
Gehen Sie lang, wenn der RSI zwischen 52-65 und der BBI zwischen 0,11 und 0,7 liegt, und kurz, wenn der RSI zwischen 35-48 und der BBI zwischen -0,11 und -0,7 liegt.
Die Kombination von RSI und BB liefert zuverlässigere Signale.
Der 30-Perioden-RSI filtert etwas Marktlärm aus und konzentriert sich auf die wichtigsten Trends.
50-Perioden-BB mit 0,2 Standardabweichung hilft, Whipsaws auszufiltern.
BBI-Schwellenwerte filtern gefälschte Ausbrüche.
Die RSI Long/Short Zonen 52-65 und 35-48 bieten einen gewissen Puffer, um verpasste Trades zu vermeiden.
Breakout-Strategien neigen dazu, in Schlagzeilen gefangen zu werden, müssen das Risiko mit einem Stop-Loss verwalten.
Die Ergebnisse der Backtests können überfüllt sein, die Leistung im Live-Bereich kann variieren.
Extreme Marktbewegungen können einen Stop-Loss verursachen, der zu großen Verlusten führt.
Die RSI- und BB-Parameter einschließlich Perioden und Schwellenwerten müssen optimiert werden.
Der Auftragspreis kann die Live-Performance erheblich beeinflussen.
Versuche verschiedene Kombinationen von RSI- und BB-Parametern, um optimale Einstellungen zu finden.
Hinzu kommen weitere Indikatoren wie MACD, KD für die Signalfiltration.
Optimieren Sie RSI-Lange-Kurzzonen, um mehr Lärm zu filtern.
Optimieren Sie dynamische BBI-Schwellenwerte, um Fälschungen besser zu filtern.
Hinzufügen eines Trendfilters, um den Handel gegen den wichtigsten Trend zu vermeiden.
Versuche verschiedene Stop-Loss-Techniken, um eine optimale Risikokontrolle zu finden.
Versuche verschiedene Bestelltypen, um die Auswirkungen von Schlupf zu minimieren.
Die RSI-BB-Strategie kombiniert die Vorteile der Verwendung von Trend- und Momentumindikatoren. Die Backtest-Ergebnisse sind vielversprechend, aber die Live-Performance kann aufgrund von Faktoren in der realen Welt wie Rutsch und Stop-Loss variieren. Parameter und Filter müssen basierend auf den Backtest-Ergebnissen optimiert werden. Stop-Loss und Orderplatzierung sollten auch auf die Wirksamkeit in der realen Welt ausgewertet werden. Die Strategie hat Verdienste, erfordert jedoch kontinuierliche Verbesserungen und Robustheitstests, um konsistente Ergebnisse zu erzielen.
/*backtest start: 2023-10-03 00:00:00 end: 2023-11-02 00:00:00 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //Based on Larry Connors RSI-2 Strategy - Lower RSI strategy(title="Spyfrat Strat", shorttitle="SpyfratStrat", overlay=true) src = close, // BB Init source = close length = input(50, minval=1) mult = input(0.2, title="Mult Factor", minval=0.001, maxval=50) alertLevel=input(0.1) impulseLevel=input(0.75) showRange = input(false, type=bool) //RSI CODE up = rma(max(change(src), 0), 30) down = rma(-min(change(src), 0), 30) rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down)) //BB CODE basis = sma(source, length) dev = mult * stdev(source, length) upper = basis + dev lower = basis - dev bbr = source>upper?(((source-upper)/(upper-lower))/10): source<lower?(((source-lower)/(upper-lower))/10) : 0.1 bbi = bbr - nz(bbr[1]) //Rule long = rsi>52 and rsi<65 and bbi>0.11 and bbi<0.7 short = rsi<48 and rsi>35 and bbi<-0.11 and bbi>-0.7 //Trade Entry strategy.entry("long", strategy.long, when=long) strategy.entry("short", strategy.short, when=short) //Trade Exit TP = input(250) * 10 SL = input(20) * 10 TS = input(0) * 10 CQ = 100 TPP = (TP > 0) ? TP : na SLP = (SL > 0) ? SL : na TSP = (TS > 0) ? TS : na strategy.exit("Close Long", "long", qty_percent=CQ, profit=TPP, loss=SLP, trail_points=TSP) strategy.exit("Close Short", "short", qty_percent=CQ, profit=TPP, loss=SLP, trail_points=TSP)