Diese Strategie kombiniert die MACD- und RSI-Indikatoren, um die Trendrichtung und die Überkauf-/Überverkaufswerte für den Trendhandel zu bestimmen.
Hauptlogik:
Berechnung der MACD-Linie und der Signallinie (EMA der MACD)
Delta ist ihre Differenz, die den Preisdynamikwandel ausdrückt
RSI zur Beurteilung von Überkauf/Überverkauf
Long gehen, wenn Delta oberhalb der Nulllinie überschreitet und der RSI überkauft ist (Standard 70)
Wenn Delta unter die Nulllinie geht und der RSI überverkauft ist (Standard 30)
MACD für die Dynamikrichtung, RSI für Überkauf/Verkauf - die Kombination filtert viele falsche Signale.
Kombiniert zwei Indikatoren für gefilterte Signale
MACD misst Dynamik, RSI misst Überkauf/Verkauf
Konfigurierbare Parameter für verschiedene Märkte
Klare Begründung der Trendhandelsstrategie
Begrenzte Wirksamkeit einer Kombination aus einzelnen Indikatoren
Keine Stop-Loss, nicht in der Lage, Verluste pro Handel zu kontrollieren
Nicht berücksichtigt Position Größe
Abmilderung:
Testen Sie andere Indikatoren, finden Sie optimale Kombinationen
Hinzufügen von Verlust oder Hard Stop
Positionsgröße basierend auf Kontogröße oder Volatilität
Test MACD mit anderen Indikatorenkombinationen
Optimierung der Stabilitätsparameter
Filtern Sie Signale nach Trend, um falsche Ausbrüche zu vermeiden
Verwenden Sie einen Trailing Stop Loss zum Schutz der Gewinne
ML zur Beurteilung der Signalqualität
Diese Strategie kombiniert MACD und RSI zur soliden Trendbestimmung. Die Stabilität kann durch Parameteroptimierung, Stop-Loss, intelligente Filter usw. verbessert werden.
/*backtest start: 2023-08-21 00:00:00 end: 2023-09-20 00:00:00 period: 6h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("MACD RSI Strategy", overlay=true) fastLength = input(12) slowlength = input(26) MACDLength = input(9) MACD = ema(close, fastLength) - ema(close, slowlength) aMACD = ema(MACD, MACDLength) delta = MACD - aMACD // RSI length_rsi = input( 14 ) overSold = input( 30 ) overBought = input( 70 ) price = close vrsi = rsi(price, length_rsi) // if (not na(vrsi)) if (crossover(delta, 0) and crossover(vrsi, overBought )) strategy.entry("MacdLE", strategy.long, comment="LE") if (crossunder(delta, 0) and crossunder(vrsi, overSold)) strategy.entry("MacdSE", strategy.short, comment="SE") //plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)