RSI Long- und Short-Balance-Handelsstrategie


Erstellungsdatum: 2023-10-30 15:49:35 zuletzt geändert: 2023-10-30 15:49:35
Kopie: 0 Klicks: 670
1
konzentrieren Sie sich auf
1617
Anhänger

RSI Long- und Short-Balance-Handelsstrategie

Überblick

Die Strategie nutzt die Kombination von RSI-Indikatoren in verschiedenen Zeiträumen, um zu beurteilen, ob der Markt überkauft oder überverkauft ist, und kombiniert die Beziehung zwischen dem Preis und der Moving Average, um ein Kauf- und Verkaufssignal zu senden. Das Ziel ist es, bei einem Rückgang zu kaufen und bei einem Anstieg zu verkaufen, um einen Gewinn bei der Bereinigung zu erzielen.

Strategieprinzip

  1. Berechnen Sie die RSI-Werte für 5 Minuten, 15 Minuten und 1 Stunde. Wenn der RSI für 5 Minuten, 15 Minuten und 1 Stunde gleichzeitig unter 25 liegt, wird dies als Überverkauf angesehen und ein Kaufsignal erzeugt. Wenn der RSI für 5 Minuten, 15 Minuten und 1 Stunde gleichzeitig über 75 liegt, wird dies als Überkauf angesehen und ein Verkaufssignal erzeugt.

  2. Ein Preisbruch des 21. Moving Average dient auch als Handelssignal. Wenn der Preis unter dem Moving Average liegt, erzeugt dies ein Kaufsignal. Wenn der Preis über dem Moving Average liegt, erzeugt dies ein Verkaufsignal.

  3. Die Anzahl der ersten Transaktionen und die Regeln für die Aufnahme von Positionen werden je nach Position festgelegt: Die erste Aufnahme von Positionen wird mit 2 Händen festgelegt, danach mit 1 Händen bei jeder Aufnahme, bis die Position 2 Händen erreicht.

  4. Wenn der Verlust 3% erreicht, wird der Verlust gestoppt. Wenn der Gewinn 1% erreicht, wird der Gewinn gestoppt.

Strategische Vorteile

  1. Die Verwendung einer Kombination von RSI-Indikatoren mit mehreren Zeitrahmen erhöht die Zuverlässigkeit der Signale.

  2. In Kombination mit einer beweglichen Durchschnittslinie erzeugt das Forex-Signal eine Ausweitung der Handelsmöglichkeiten.

  3. Es gibt ein Stop-Loss-Reglement für die Positionskontrolle und die Gewinn- und Verlustquote, um das Risiko zu kontrollieren.

  4. Das Unternehmen hat sich in der Vergangenheit bemüht, seine Gewinne zu steigern, indem es sich um quantitative Anlagerungen kümmert.

Strategisches Risiko

  1. Der RSI-Indikator birgt das Risiko einer Rückführung, dass der Preis eine Zeitlang ohne Umkehrung weitergeführt werden kann, nachdem der RSI den Überkauf-Überverkauf-Kritikpunkt erreicht hat. Wenn der RSI-Signal blind verfolgt wird, kann dies zu Verlusten führen.

  2. Die Handelssignale, die von der Moving Average erzeugt werden, können irreführend sein. Wenn die Preise stark schwanken, kann die Moving Average die Preisänderungen nicht rechtzeitig verfolgen.

  3. Die falsche Einstellung der Positionsgröße und des Gewinn- und Verlustverhältnisses kann zu einer falschen Risikokontrolle führen.

  4. Es ist notwendig, die Bedingungen für die Einlagerung vernünftigerweise festzulegen. Wenn die Einlagerung zu offen ist, kann dies zu einer Vergrößerung der Verluste führen.

Optimierungsrichtung

  1. Anpassung der RSI-Parameter, Test verschiedener RSI-Perioden-Parameterkombinationen, um zuverlässigere Überkauf-Überverkauf-Signale zu finden.

  2. Verschiedene Parameter werden als Hilfssignale getestet. Weitere technische Indikatoren können ebenfalls getestet werden.

  3. Optimierung der Positionskontrolle und der Stop-Loss-Regel und Einführung einer wissenschaftlicheren Risikokontrolle.

  4. Optimierung der Auflagerungsbedingungen, um zu verhindern, dass die Auflagerung zu einer Vergrößerung der Verluste führt. Alternative Auflagerungsmethoden können auch in Anspruch genommen werden.

Zusammenfassen

Die Strategie nutzt die Kombination von mehreren Zeitfenstern des RSI, um das Trendpotenzial zu beurteilen, um eine höhere Gewinnrate zu erzielen. Die Strategie unterstützt gleichzeitig die Erzeugung von Handelssignalen durch die Bewegung der Mittellinie, um die Handelsmöglichkeiten zu erweitern. Die Risikokontrolle erfolgt durch die Verwendung von Regeln wie Positionskontrollen, Stop-Loss-Stopps und quantitative Verlagerungen.

Strategiequellcode
/*backtest
start: 2023-09-29 00:00:00
end: 2023-10-29 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("5M_RSI_Strategy", overlay=true, pyramiding = 1)
len =14 
Initial_Trade_Size = 2
up = rma(max(change(close), 0), len)
down = rma(-min(change(close), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
RSI_1h = request.security(syminfo.tickerid, "60", rsi)
RSI_3h = request.security(syminfo.tickerid, "180", rsi)
RSI_15m = request.security(syminfo.tickerid, "15", rsi)
RSI_5m = request.security(syminfo.tickerid, "5", rsi)
RSI_1m = request.security(syminfo.tickerid, "1", rsi)
ema21_5 = ema(request.security(syminfo.tickerid, "5", close), 21)
ema21_15 = ema(request.security(syminfo.tickerid, "15", close), 21)
//(RSI_3h<=25) and  (RSI_1h<=25) and (RSI_15m<=25) and
Positive = ((RSI_5m<=25) and (RSI_15m<=25) and (RSI_1h<=25))?true:false
//alertcondition(Positive, title='POS', message='POS')        
//plotshape(Positive, style=shape.triangleup,location=location.belowbar, color=green,size =size.tiny)
Negative = (( RSI_5m>=75) and ( RSI_15m>=75) and ( RSI_1h>=75))?true:false
//alertcondition(Negative, title='NEG', message='NEG')
//plotshape(Negative, style=shape.triangledown,location=location.abovebar, color=red,size=size.tiny)          Positive and   Negative and 

lastordersize = abs(strategy.position_size)>=Initial_Trade_Size?abs(strategy.position_size):Initial_Trade_Size
//lastordersize =1
// and ((ema21_15-low)/ema21_15) > 0.077
//Adding to position rules
if (abs(strategy.position_size) >= Initial_Trade_Size and (abs(close - strategy.position_avg_price)/abs(strategy.position_avg_price)>0.03))
    if(strategy.position_avg_price > close and strategy.position_size > 0)
        strategy.entry("Add", strategy.long , qty = lastordersize , when = true)
    if(strategy.position_avg_price < close and strategy.position_size < 0)
        strategy.entry("Add", strategy.short, qty = lastordersize , when = true)
if (strategy.position_size == 0)
    if (Positive or ((ema21_5-low)/ema21_5) > 0.07)
        strategy.entry("1St Entry", strategy.long , qty = lastordersize , when = true)
    // and ((high-ema21_15)/ema21_15) > 0.077
    if (Negative or ((high-ema21_5)/ema21_5) > 0.07)
        strategy.entry("1St Entry", strategy.short, qty = lastordersize , when = true)
//lastordersize := lastordersize * 2
//or (strategy.openprofit / abs(strategy.position_size * close))>=0.01
if(cross(ema21_5, high) or cross(ema21_5, low))
    strategy.close_all()