Langsame RSI-OB/OS-Strategie

Schriftsteller:ChaoZhang, Datum: 28.12.2023 18:07:48
Tags:

img

Übersicht

Die Slow RSI OB/OS-Strategie eröffnet neue Handelsmöglichkeiten, indem sie die Rückblicksperiode des RSI verlängert, um die Schwankung der RSI-Kurve zu reduzieren.

Strategie Logik

Die Kernidee dieser Strategie besteht darin, die Lookback-Periode des RSI standardmäßig auf 500 Bar zu verlängern und dann die RSI-Kurve mit einem 250-bar SMA zu glätten. Dies kann die Schwankung des RSI erheblich reduzieren und seine Reaktionsgeschwindigkeit verlangsamen und so neue Handelssignale erzeugen.

Die langfristige Rückblickperiode schwächt die Schwankung des RSI, so dass die Kriterien für überkaufte und überverkaufte Niveaus auch angepasst werden müssen. Die Strategie setzt eine anpassbare Überkauflinie auf 52 und eine Überkauflinie auf 48. Ein langes Signal wird ausgelöst, wenn der glättete RSI über die Überkauflinie von unten überschreitet. Ein kurzes Signal wird ausgelöst, wenn es unter die Überkauflinie von oben überschreitet.

Vorteile

  1. Hochinnovativ durch die Erforschung neuer Handelsideen über längere Zeiträume
  2. Falschsignale stark reduzieren und Stabilität verbessern
  3. Anpassbare OB/OS-Schwellenwerte, die sich an verschiedene Märkte anpassen lassen
  4. Erlaubt Pyramiden, um die Rentabilität zu verbessern

Risiken

  1. Verpasste kurzfristige Möglichkeiten aufgrund langer Zeiträume
  2. Es erfordert Geduld, auf Handelssignale zu warten.
  3. Falsche OB/OS-Schwellenwerte können die Verluste erhöhen
  4. Gefahren, gefangen zu sein

Lösungen:

  1. Verkürzung der Zeiträume, um die Handelshäufigkeit zu erhöhen
  2. Teilpositionen einnehmen, um Risiken zu diversifizieren
  3. Optimierung der Parameter zur Anpassung an sich ändernde Marktbedingungen
  4. Setzen Sie Stop-Loss, um große Verluste zu vermeiden

Optimierungsrichtlinien

  1. Optimieren Sie die RSI-Parameter, um die beste Periodenkombination zu finden
  2. Versuche verschiedene SMA-Gleichungsphasen
  3. Optimierung der OB/OS-Parameter für verschiedene Märkte
  4. Hinzufügen von Stop-Loss-Strategien zur Kontrolle einzelner Verluste

Schlussfolgerung

Die Slow RSI OB/OS-Strategie hat erfolgreich neue Handelsideen erforscht, indem Perioden verlängert und SMA zur Unterdrückung von Schwankungen verwendet wurde.


/*backtest
start: 2023-12-20 00:00:00
end: 2023-12-27 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


// Wilder was a very influential man when it comes to TA. However, I'm one to always try to think outside the box. 
// While Wilder recommended that the RSI be used only with a 14 bar lookback period, I on the other hand think there is a lot to learn from RSI if one simply slows down the lookback period 
// Same applies for MACD.
// Every market has its dynmaics. So don't narrow your mind by thinking my source code input levels are the only levels that work.
// Since the long lookback period weakens the plot volatility, again, one must think outside the box when trying to guage overbought and oversold levels. 

// Good luck and don't bash me if some off-the-wall FA spurned divergence causes you to lose money.
// And NO this doesn't repaint and I won't answer those who ask. 
//@version=4

strategy("SLOW RSI OB/OS Strategy", overlay=false)
price = input(ohlc4, title="Price Source")
len = input(500, minval=1, step=5,  title="RSI Length")
smoother = input(250, minval=1, step=5, title="RSI SMA")
up = rma(max(change(price), 0), len)
down = rma(-min(change(price), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
EmaRSI = ema(rsi,smoother)
plot(EmaRSI, title="EmaRSI", style=line, linewidth=1, color=yellow)


OB = input(52, step=0.1)
OS = input(48, step=0.1)
hline(OB, linewidth=1, color=red)
hline(OS,linewidth=1, color=green)
hline(50,linewidth=1, color=gray)


long = change(EmaRSI) > 0 and EmaRSI <= 50 and crossover(EmaRSI, OS)
short = change(EmaRSI) < 0 and EmaRSI >= 50 and crossunder(EmaRSI, OB)


strategy.entry("Long", strategy.long, when=long) //_signal or long) //or closeshort_signal)
strategy.entry("Short", strategy.short, when=short) //_signal or short) // or closelong_signal)

// If you want to try to play with exits you can activate these!

//closelong = crossunder(EmaRSI, 0) //or crossunder(EmaRSI, OS)
//closeshort = crossover(EmaRSI, 0) //or crossover(EmaRSI, OB)

//strategy.close("Long", when=closelong)
//strategy.close("Short", when=closeshort)




Mehr