Long-Short-Crossover-Strategie mit dualen gleitenden Durchschnitten und RSI-Indikatoren


Erstellungsdatum: 2024-02-01 11:48:51 zuletzt geändert: 2024-02-01 11:48:51
Kopie: 0 Klicks: 730
1
konzentrieren Sie sich auf
1617
Anhänger

Long-Short-Crossover-Strategie mit dualen gleitenden Durchschnitten und RSI-Indikatoren

Diese Strategie verwendet die Kombination von zwei Moving Averages und RSI-Indikatoren, um eine Multi-Bohr-Cross-Trading-Strategie zu erstellen. Diese Strategie kann die mittleren und langen Trends erfassen und gleichzeitig unnötige Schwankungen mit den kurzen Indikatoren vermeiden.

Strategieprinzip

Die Strategie verwendet zwei Arten von Moving Averages, nämlich schnelle Moving Averages (EMA 59 und EMA 82) und langsame Moving Averages (EMA 96 und EMA 95) . Wenn der Preis den schnellen Moving Average von unten nach oben überschreitet, macht man einen Plus; wenn der Preis den schnellen Moving Average von oben nach unten überschreitet, macht man einen Minus.

Konkret wird ein Mehrkopfsignal erzeugt, wenn ein schneller EMA aufwärts durch den langsamen EMA bricht. Wenn der RSI unter 30 liegt (Überverkaufszone), wird ein Mehrkopf-Eintritt durchgeführt. Wenn ein schneller EMA nach unten fällt und den langsamen EMA überschreitet, wird ein Hohlkopfsignal erzeugt.

Der Vorteil der Verwendung von Doppel-Moving-Averages besteht darin, dass die Veränderungen in den mittleren und langen Trends besser erkannt werden können. Der RSI-Indikator kann den Lärm des Handels durch einige falsche Durchbrüche filtern.

Strategische Vorteile

  • Die mittleren und langen Trends werden mit einem doppelten Moving Average erfasst.
  • RSI-Indikator filtert den Noise-Handel
  • Kombination von Trend-Following und Reverse Trading
  • Die Transaktionslogik ist einfach und klar.

Risikoanalyse

  • In stark schwankenden Märkten können die von den Moving Averages erzeugten Handelssignale getäuscht werden
  • Der RSI kann unter bestimmten Marktsituationen nicht funktionieren
  • Die Einstellung des Stopps ist vorsichtig und sollte nicht zu locker oder zu dringend sein.

Richtung der Strategieoptimierung

  • Moving-Average-Kombinationen mit längeren Perioden
  • Versuchen Sie, verschiedene Parameter anzupassen, z. B. Änderungen der RSI-Reihe
  • Zusätzliche Filterbedingungen, wie z. B. die Handelsvolumenindikatoren
  • Optimierung der Stop-Loss-Strategie in Verbindung mit dynamischen Stop-Loss-Indikatoren wie ATR

Zusammenfassen

Diese Strategie integriert die Tendenz der doppelten Moving Averages und folgt dem Umkehrhandel mit dem RSI-Indikator. Die doppelte EMA verfolgt die Richtung der mittleren langen Tendenz, wobei der RSI zur Bestätigung der Wirksamkeit von Handelssignalen und zum Stoppen von Verlusten verwendet wird. Es ist eine einfache, praktische, mehrsprachige Crossover-Strategie, die durch Parameteranpassung und -optimierung an verschiedene Marktumgebungen angepasst werden kann.

Strategiequellcode
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Swing Hull/rsi/EMA Strategy", overlay=true,default_qty_type=strategy.cash,default_qty_value=10000,scale=true,initial_capital=10000,currency=currency.USD)

//A Swing trading strategy that use a combination of indicators, rsi for target, hull for overall direction enad ema for entering the martket.
// hull ma copied from syrowof HullMA who copied from mohamed982 :) thanks both
// Performance 

n=input(title="period",defval=500)

n2ma=2*wma(close,round(n/2))
nma=wma(close,n)
diff=n2ma-nma
sqn=round(sqrt(n))

n2ma1=2*wma(close[1],round(n/2))
nma1=wma(close[1],n)
diff1=n2ma1-nma1
sqn1=round(sqrt(n))

n1=wma(diff,sqn)
n2=wma(diff1,sqn)
c=n1>n2?green:red
ma=plot(n1,color=c)



// RSi and Moving averages

length = input( 14 )
overSold = input( 70)
overBought = input( 30)
point = 0.0001
dev= 2

fastLength = input(59)
fastLengthL = input(82)
slowLength = input(96)
slowLengthL = input(95)
price = close

mafast = ema(price, fastLength)
mafastL= ema(price, fastLengthL)
maslow = ema(price, slowLength)
maslowL = ema(price, slowLengthL)
vrsi = rsi(price, length)
cShort =  (crossunder(vrsi, overBought))

condDown = n2 >= n1
condUp = condDown != true
closeLong =  (crossover(vrsi, overSold))
closeShort = cShort 


// Strategy Logic
longCondition = n1> n2
shortCondition = longCondition != true

col =condUp ? lime : condDown ? red : yellow
plot(n1,color=col,linewidth=3)


if (not na(vrsi))
    if shortCondition    
        if (price[0] < maslow[0] and price[1] > mafast[1]) //cross entry
            strategy.entry("SYS-SHORT", strategy.short, comment="short")
strategy.close("SYS-SHORT", when=closeShort) //output logic

if (not na(vrsi))
    if longCondition // swing condition          
        if (price[0] < mafast[0] and price[1] > mafast[1]) //cross entry
            strategy.entry("SYS-LONG", strategy.long, comment="long")
strategy.close("SYS-LONG", when=closeLong) //output logic


// Stop Loss 


sl = input(75)
Stop = sl * 10
Q = 100


strategy.exit("Out Long", "SYS-LONG", qty_percent=Q, loss=Stop)
strategy.exit("Out Short", "SYS-SHORT", qty_percent=Q, loss=Stop)



//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)