Diese Strategie basiert auf den RSI- und MACD-Indikatoren, kombiniert mit Unterstützungs-/Widerstandsniveaus für das Handelssignalbeurteilen. Sie heißt
Die Strategie basiert hauptsächlich auf zwei Indikatoren - RSI und MACD. Der RSI-Indikator beurteilt Überkauf/Überverkaufsstatus, während der MACD-Indikator Bullish/Bearish-Trendstatus bestimmt. Er berechnet zuerst den 14-Perioden-RSI-Wert und setzt die überkaufte Schwelle auf 70 und die überverkaufte Schwelle auf 30. Dann berechnet er den MACD-Wert basierend auf 12-Tage-Fastline, 26-Tage-Slowline und 9-Tage-Signallinie. RSI unter 30 gilt als überverkauft; RSI über 70 gilt als überkauft.
Darüber hinaus berechnet die Strategie auch die höchsten und niedrigsten Preise in den letzten 100 Perioden als Unterstützungs-/Widerstandsniveaus. Wenn ein Kaufsignal ausgelöst wird, muss der Preis nahe an der Unterstützungsstufe liegen, d.h. innerhalb von 1% des Unterstützungsniveaus, um tatsächlich eine Kauforder auszustellen. Ähnlich muss der Preis, wenn ein Verkaufssignal ausgelöst wird, innerhalb von 1% unter dem Widerstandsniveau liegen, um tatsächlich eine Verkaufsorder auszustellen.
Die Strategie kombiniert Trendanalyse und Überkauf-/Überverkaufsniveau-Erkennung, um falsche Signale zu vermeiden, die sich nur auf einen einzelnen Indikator stützen. Durch die Einführung eines Support/Resistance-Filters kann sie falsche Trades aufgrund von Rebounds in der Nähe der wichtigsten S/R-Levels reduzieren. Die Kombination von MACD und RSI kann Preisbewegungen und OB/OS-Status genau identifizieren. Im Vergleich zu einfachen Moving Average-Strategien kann diese Strategie langfristige Preistrends flexibler erfassen.
Zu den wichtigsten Risiken dieser Strategie gehören:
Bei starken Trends kann es die meisten Gewinne verpassen, da es nach Abschluss der Umkehrung in die Marktwirtschaft eintritt.
Unangemessene Einstellungen der RSI- und MACD-Parameter können zu falschen Signalen führen.
Eine einfache S/R-Erkennungslogik kann tatsächliche S/R-Zonen überschätzen oder unterschätzen.
Mangel an Stop-Loss-Mechanismen, Unfähigkeit, Verluste unter extremen Marktbedingungen effektiv zu kontrollieren.
Um diesen Risiken entgegenzuwirken, können zur Verbesserung der Strategie Methoden wie adaptive MACD, optimierte RSI-Parameter-Tuning, verbesserte S/R-Identifizierung, Marktregime-Modellierung usw. verwendet werden.
Die Strategie kann in folgenden Dimensionen verbessert werden:
Einführung von Stop-Loss-Mechanismen z. B. CANVAS-Stop-Loss
Verwendung des adaptiven MACD für die dynamische Parameteranpassung
Einführung von Preismustererkennung für eine wissenschaftlichere S/R-Identifizierung
Einbeziehung von mehr Daten zur Festlegung einer Marktzustandserkennungslogik für die adaptive Verwendung verschiedener Parameter
Verwenden Sie Machine-Learning-Algorithmen, um die Strategie von Ende zu Ende zu optimieren
Durch diese Verbesserungen können wir den Abbau weiter reduzieren und die Stabilität der Strategie verbessern.
Die Strategie integriert RSI- und MACD-Indikatoren, um OB/OS-Status zu bestimmen, und handelt um Support/Resistance-Niveaus, was einen Trend-following-Ansatz darstellt. Durch die Einbeziehung von Support/Resistance-Filter wird das Risiko reduziert. Der Vorteil liegt in stabilen Signalen und kontrollierbarem Risiko, das für langfristige Halten geeignet ist.
/*backtest start: 2023-12-28 00:00:00 end: 2024-01-04 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("RSI + MACD with Support and Resistance", shorttitle="RSI_MACD_SR", overlay=true) // Input for RSI and MACD values rsiOverbought = input(70, title="RSI Overbought Threshold") rsiOversold = input(30, title="RSI Oversold Threshold") macdFastLength = input(12, title="MACD Fast Length") macdSlowLength = input(26, title="MACD Slow Length") macdSignalSmoothing = input(9, title="MACD Signal Smoothing") // Calculating RSI and MACD rsiValue = ta.rsi(close, 14) [macdLine, signalLine, _] = ta.macd(close, macdFastLength, macdSlowLength, macdSignalSmoothing) // Support and Resistance support = ta.lowest(100) resistance = ta.highest(100) // Drawing support and resistance lines // line.new(x1=bar_index[0], y1=support, x2=bar_index[-1], y2=support, color=color.green, width=1) // line.new(x1=bar_index[0], y1=resistance, x2=bar_index[-1], y2=resistance, color=color.red, width=1) // Buy Condition: If RSI is oversold and MACD line crosses above the signal line // Additionally, check if price is near the support line longCondition = ta.crossover(macdLine, signalLine) and rsiValue < rsiOversold and (close - support) < (close * 0.01) strategy.entry("Long", strategy.long, when=longCondition, comment="Buy") // Sell Condition: If RSI is overbought and MACD line crosses below the signal line // Additionally, check if price is near the resistance line shortCondition = ta.crossunder(macdLine, signalLine) and rsiValue > rsiOverbought and (resistance - close) < (close * 0.01) strategy.entry("Short", strategy.short, when=shortCondition, comment="Sell") // Plot values on the chart for visualization plotshape(series=longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="Buy") plotshape(series=shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell")