Die Strategie verwendet eine Kombination aus doppelten exponentiellen gleitenden Durchschnitten (EMA) Crossovers und Relative Strength Index (RSI), um potenzielle Handelschancen in den Märkten zu identifizieren.
Der Grundgedanke ist, zu kaufen, wenn sich die schnellere 9-Wochen-EMA nach oben bewegt und über die langsamere 21-Wochen-EMA kreuzt, da dies signalisiert, dass sich der Markttrend stärken kann.
Insbesondere wird ein Long-Entry-Signal ausgelöst, wenn der 9-wöchige EMA über den 21-wöchigen EMA überschreitet und der 14-wöchige RSI größer als 50 ist. Die Positionen werden dann für das Kontorisiko von 2% mit einem Stop-Loss von 5% und einem Gewinnziel von 10% sortiert. Ein 3% Trailing-Stop sperrt auch Gewinne.
Das Verkaufssignal basiert auf der entgegengesetzten Logik: Wenn der 9-wöchige EMA unter den 21-wöchigen EMA fällt oder wenn der RSI unter 50 fällt, zeigt dies, dass sich der kurzfristige Trend nach unten umgekehrt hat.
Dies kann optimiert werden, indem systematisch Kombinationen dieser Parameter getestet werden. Zusätzliche Filter in der Condition Logic können laute Trades reduzieren.
Die Strategie nutzt die Macht von EMA und RSI, um potenzielle Chancen innerhalb größerer Trends zu identifizieren. Sie bietet klare Risikomanagementregeln, um das Risiko pro Handel effektiv zu kontrollieren. Weitere Tests und Optimierungen von Parametern können die Performance weiter verbessern. Sie bietet eine effektive Möglichkeit, größere zyklische Schwankungen in den Märkten zu handeln.
/*backtest start: 2023-12-22 00:00:00 end: 2024-01-21 00:00:00 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Weekly Swing Trading Strategy", overlay=true) // Entry Indicators shortEma = ema(close, 9) longEma = ema(close, 21) rsiValue = rsi(close, 14) // Entry Condition longCondition = crossover(shortEma, longEma) and rsiValue > 50 if (longCondition) strategy.entry("Long", strategy.long) // Position Sizing (2% risk per trade) riskPerTrade = 0.02 stopLossPercent = 0.05 // 5% stop loss stopLossPrice = close * (1 - stopLossPercent) strategy.exit("Stop Loss", "Long", stop=stopLossPrice) // Profit Target and Trailing Stop profitTargetPercent = 0.10 // 10% profit target profitTargetPrice = close * (1 + profitTargetPercent) trailStopPercent = 0.03 // 3% trailing stop strategy.exit("Take Profit", "Long", limit=profitTargetPrice, trail_price=trailStopPercent, trail_offset=trailStopPercent) // Exit Strategy exitCondition = crossunder(shortEma, longEma) or rsiValue < 50 // Exit when EMAs cross or RSI drops below 50 strategy.close("Long", when=exitCondition) plot(shortEma, color=color.red) plot(longEma, color=color.blue) hline(50, "RSI 50", color=color.purple)