
Die Strategie ist eine Trend-Tracking-Strategie, die ein bihomogenes Kreuzungssystem mit einem relativ starken Index (RSI) kombiniert. Die Strategie erfasst Markttrends durch die Kreuzung von 9-Zyklus- und 21-Zyklus-Moving Averages (EMA), während die RSI-Indikatoren für den Überkauf-Überverkauf-Filter verwendet werden, und die Reliabilität der Handelssignale durch die Kombination von Umsatzbestätigungen verbessert wird. Die Strategie integriert auch einen dynamischen Stop-Loss-Mechanismus, der auf der tatsächlichen Bandbreite der Fluktuation (ATR) basiert, um eine umfassende Risikokontrolle zu ermöglichen.
Die Kernlogik der Strategie basiert auf den folgenden Schlüsselelementen:
Wenn ein schneller EMA einen schnellen EMA aufwärts durchquert und der RSI größer als 40 ist und die Handelsmenge die Schwelle überschreitet, erzeugt das System ein Mehr-Signal. Umgekehrt erzeugt das System ein Abstandssignal, wenn ein schneller EMA einen schnellen EMA nach unten durchquert und der RSI kleiner als 60 ist und die Handelsmenge bestätigt wird.
Durch die wissenschaftliche Kombination klassischer technischer Indikatoren baut die Strategie ein logisch strenges Trend-Tracking-System auf. Die vielfältigen Filtermechanismen und Risikokontrollen der Strategie machen sie zu einem starken Einsatzwert. Durch die empfohlene Optimierungsrichtung gibt es noch Raum für eine weitere Verbesserung der Strategie.
/*backtest
start: 2024-11-07 00:00:00
end: 2025-02-18 08:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Call & Put Options Strategy (Optimized)", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// 📌 Configuration Parameters
emaShort = input(9, title="Short EMA")
emaLong = input(21, title="Long EMA")
rsiLength = input(14, title="RSI Period")
rsiOverbought = input(60, title="RSI Overbought") // Adjusted for more signals
rsiOversold = input(40, title="RSI Oversold") // More flexible to confirm buys
atrLength = input(14, title="ATR Period")
atrMult = input(1.5, title="ATR Multiplier for Stop Loss")
minVol = input(100000, title="Minimum Volume to Confirm Entry") // Volume filter
// 🔹 Indicator Calculations
emaFast = ta.ema(close, emaShort)
emaSlow = ta.ema(close, emaLong)
rsi = ta.rsi(close, rsiLength)
atr = ta.atr(atrLength)
vol = volume
// 📌 Entry Signal Conditions
condCALL = ta.crossover(emaFast, emaSlow) and rsi > rsiOversold and vol > minVol
condPUT = ta.crossunder(emaFast, emaSlow) and rsi < rsiOverbought and vol > minVol
// 🚀 Plot signals on the chart
plotshape(condCALL, location=location.belowbar, color=color.green, style=shape.labelup, title="CALL", size=size.small)
plotshape(condPUT, location=location.abovebar, color=color.red, style=shape.labeldown, title="PUT", size=size.small)
// 🎯 Alert conditions
alertcondition(condCALL, title="CALL Signal", message="📈 CALL signal confirmed")
alertcondition(condPUT, title="PUT Signal", message="📉 PUT signal confirmed")
// 📌 Risk Management - Stop Loss and Take Profit
longStop = close - (atr * atrMult)
shortStop = close + (atr * atrMult)
strategy.entry("CALL", strategy.long, when=condCALL)
strategy.exit("CALL Exit", from_entry="CALL", stop=longStop)
strategy.entry("PUT", strategy.short, when=condPUT)
strategy.exit("PUT Exit", from_entry="PUT", stop=shortStop)