Momentum-Indikator RSI – Strategie zur Umkehrung des Handels


Erstellungsdatum: 2024-01-03 12:09:48 zuletzt geändert: 2024-01-03 12:09:48
Kopie: 1 Klicks: 661
1
konzentrieren Sie sich auf
1621
Anhänger

Momentum-Indikator RSI – Strategie zur Umkehrung des Handels

Überblick

Diese Strategie berechnet zunächst die ADX und SMA auf hohen Zeitfenstern, um Trendrichtung und Trendänderungen zu identifizieren. Dann berechnet sie den RSI auf niedrigen Zeitfenstern, um Überkauf-Überverkauf zu identifizieren und ein Handelssignal zu erzeugen.

Strategieprinzip

  1. Die ADX-Bewertung der Trendstärke auf hohen Zeitrahmen. Ein Anstieg der ADX bedeutet eine Stärkung des Trends.

  2. Die SMA berechnet die Richtung des Trends auf einem hohen Zeitrahmen. Ein höherer SMA bedeutet einen höheren Preis, ein niedriger SMA bedeutet einen niedrigeren Preis.

  3. Der RSI wird auf niedrigen Zeiträumen berechnet, um Überkauf und Überverkauf zu beurteilen. RSI über der Schwelle bedeutet Überkauf, RSI unter der Schwelle bedeutet Überverkauf.

  4. Wenn der ADX steigt, der SMA steigt und der RSI im niedrigen Zeitrahmen überkauft wird, kann der Trend als aufwärts verstärkt angesehen werden.

  5. Wenn der ADX steigt, der SMA sinkt und der RSI im niedrigen Zeitrahmen überkauft wird, kann mehr getan werden, wenn der Trend nach unten verstärkt wird.

Analyse der Stärken

  1. Die Kombination von Trendbeurteilung und Umkehrhandel ermöglicht es, Umkehrchancen in größeren Trends zu erfassen.

  2. Die Kombination von Kennzahlen auf verschiedenen Zeitrahmen kann die Signalzuverlässigkeit erhöhen.

  3. Die RSI-Strategie simplicity selbst ist leicht zu verstehen und umzusetzen.

Risikoanalyse

  1. Es besteht die Möglichkeit, dass der RSI falsche Signale erzeugt, wodurch ein Verlust beim Handel entsteht. Die Wahrscheinlichkeit eines falschen Signals kann durch Parameteroptimierung verringert werden.

  2. Dabei kann es zu Fehlern bei der Beurteilung von Big Cycle Trends kommen, sodass die Strategie nicht für den jeweiligen Marktumfeld geeignet ist. Es kann in Betracht gezogen werden, Trends mit mehr Indikatoren zu beurteilen.

  3. Die Handelsfrequenz kann zu hoch sein und die Handelskosten beeinträchtigen die Profitabilität. Die RSI-Parameter können entsprechend angepasst werden, um die Anzahl der Geschäfte zu reduzieren.

Optimierungsrichtung

  1. Test mehr Parameterkombinationen, um die beste Übereinstimmung zwischen RSI-Parametern und ADX- und SMA-Parametern zu finden.

  2. Erhöhung der Stop-Loss-Mechanismen zur Kontrolle von Einzelschäden.

  3. Berücksichtigen Sie die Möglichkeit, Ihre Positionen in Kombination mit Volatilitätsindikatoren zu reduzieren, wenn die Volatilität langsam ist.

  4. Optimierung der Ein- und Ausstiegspreise, z. B. der Höchstpreis, der die K-Linie durchbricht, um in die Lücke zu gelangen.

Zusammenfassen

Diese Strategie integriert Trendbeurteilung und Umkehr-Handelssignale und sucht nach lokalen Umkehrmöglichkeiten in großen, periodischen Trends. Es ist zuverlässiger als die Verwendung des RSI allein und verhindert, dass es eingestellt wird. Insgesamt ist es eine eher konservative Strategie und eignet sich für Investoren, die die Wahrscheinlichkeit von Falschsignalen reduzieren.

Strategiequellcode
/*backtest
start: 2022-12-27 00:00:00
end: 2024-01-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("RSI scalping", overlay=true)

CustSession 	= input(defval=true,title= "Custom Resolution / TF ? ",type=bool)
SessionTF0	= input(title="Custom Resolution / TF", defval="180")
adxlen = input(14, title="ADX Smoothing")
dilen = input(14, title="DI Length")
length = input(7, title= "RSI length")
overSold = input( 28, title= "RSI oversold" )
overBought = input( 68, title= "RSI overbought" )

RSI = rsi(close, 7)

res		=	CustSession ? SessionTF0 : period

o = request.security(syminfo.tickerid, res, open)
c = request.security(syminfo.tickerid, res, close)
l = request.security(syminfo.tickerid, res, low)
h = request.security(syminfo.tickerid, res, high)

 // ADX higher time frame
dirmov(len) =>
	up = change(h)
	down = -change(l)
	plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
    minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
    truer = request.security(syminfo.tickerid, res, tr)
	truerange = rma(truer, len)
	plus = fixnan(100 * rma(plusDM, len) / truerange)
	minus = fixnan(100 * rma(minusDM, len) / truerange)
	[plus, minus]

adx(dilen, adxlen) =>
	[plus, minus] = dirmov(dilen)
	sum = plus + minus
	adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)

sig = adx(dilen, adxlen)

// SMA higher time frame
len = input(20, minval=1, title="SMA HTF Length")
smma = 0.0
smma := na(smma[1]) ? sma(c, len) : (smma[1] * (len - 1) + c) / len

ADXrising = (sig > sig[1]) and (sig[1] > sig[2]) and (sig[2]  > sig[3]) and (sig > 15)
SMAdrop= (smma < smma[1]) and (smma[1] < smma[2]) and (smma[2] < smma[3])
SMArising = (smma > smma[1]) and (smma[1] > smma[2]) and (smma[2] > smma[3])
longCondition = crossover(RSI, overBought) and ADXrising and SMArising
shortCondition = crossunder(RSI, overSold) and SMAdrop and ADXrising 

if (longCondition)
    strategy.entry("Long entry", strategy.long)

if (shortCondition)
    strategy.entry("Short Entry", strategy.short)