Strategie für doppelte starke Indikatoren

Schriftsteller:ChaoZhang, Datum: 2023-11-20 09:47:41
Tags:

img

Übersicht

Diese Strategie kombiniert den Indikator der gleitenden Durchschnittskonvergenzdivergenz (MACD) und den Indikator für den Relative Strength Index (RSI), um Kauf- und Verkaufsbedingungen für die Nutzung von Umkehrchancen festzulegen.

Strategie Logik

  1. Berechnen Sie den MACD-Indikator, einschließlich der schnellen Linie, der langsamen Linie und der Signallinie.

  2. Berechnen Sie den RSI-Indikator und legen Sie die Schwellenwerte für Überkauf und Überverkauf fest.

  3. Kombinieren Sie die Crossover-Signale des MACD und die Überkauf-/Überverkaufswerte des RSI, um die Kauf- und Verkaufsbedingungen zu formulieren:

    • Kaufbedingung: Die schnelle MACD-Linie überschreitet die langsame Linie (goldenes Kreuz), während der RSI-Indikator gerade aus der überkauften Zone zurückfiel und eine Umkehr signalisiert.

    • Verkaufszustand: Die schnelle MACD-Linie überschreitet unterhalb der langsamen Linie (Todeskreuz), während der RSI-Indikator in die Überkaufzone eintritt und eine Umkehr signalisiert.

  4. Dies ermöglicht es, die Stärken beider leistungsfähigen Indikatoren zu nutzen, um an Umkehrpunkten genau zu kaufen und zu verkaufen.

Analyse der Vorteile

  1. Der MACD kann Trends und Handelschancen identifizieren. Der RSI misst Überkauf/Überverkauf. Beides verbessert die Genauigkeit.

  2. Die Verwendung von zwei Indikatoren filtert falsche Signale aus, die mit einem einzigen Indikator auftreten können.

  3. Der MACD in Kombination mit dem RSI ermöglicht den Kauf vor Umkehrungen und den Verkauf nach Umkehrungen, um Wende zu erfassen.

  4. Die Strategie hat eine moderate Häufigkeit, verfolgt Trends und erfasst Umkehrungen flexibel.

Risikoanalyse

  1. Der MACD kann in unruhigen Märkten falsche Signale geben.

  2. Kurzfristige Volatilität kann die Positionen stoppen und Verluste verursachen.

  3. RSI- und MACD-Parameter müssen optimiert werden, um zu viele oder zu wenige Signale zu vermeiden.

  4. Strenge Risikomanagement und Geldmanagement sind für den Live-Handel von entscheidender Bedeutung.

Optimierungsrichtlinien

  1. Optimieren der MACD-Schnell-/Slow-Linienparameter für die besten Kombinationen.

  2. Optimieren Sie die RSI-Überkauf/Überverkaufsschwellen, um falsche Signale zu vermeiden.

  3. Hinzufügen eines Stop-Loss zur Kontrolle des Einzelhandelsrisikos.

  4. Für zusätzliche Bestätigung sollten Filter wie Bollinger-Bänder oder KDJ hinzugefügt werden.

  5. Testen Sie verschiedene Ein- und Ausstiegsstrategien wie Ausbrüche oder Trendfolgen.

Zusammenfassung

Diese Strategie kombiniert die Stärken von MACD und RSI für Umkehrungen. Aber Parameter-Tuning, Risikokontrolle und Geldmanagement sind der Schlüssel für die Live-Performance. Die Flexibilität macht sie für verschiedene Marktbedingungen geeignet und lohnt sich für Live-Tests und -Tracking.


/*backtest
start: 2022-11-13 00:00:00
end: 2023-11-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
// © sabirt
strategy(title='MACD and RSI', overlay=true, shorttitle='MACD&RSI')
//MACD Settings
fastMA = input.int(title='Fast moving average', defval=12, minval=1)
slowMA = input.int(title='Slow moving average', defval=26, minval=1)
signalLength = input.int(9, minval=1)

//RSI settings
RSIOverSold = input.int(35, minval=1)
RSIOverBought = input.int(80, minval=1)
src = close
len = input.int(14, minval=1, title='Length')
up = ta.rma(math.max(ta.change(src), 0), len)
down = ta.rma(-math.min(ta.change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - 100 / (1 + up / down)
wasOversold = rsi[0] <= RSIOverSold or rsi[1] <= RSIOverSold or rsi[2] <= RSIOverSold or rsi[3] <= RSIOverSold or rsi[4] <= RSIOverSold or rsi[5] <= RSIOverSold
wasOverbought = rsi[0] >= RSIOverBought or rsi[1] >= RSIOverBought or rsi[2] >= RSIOverBought or rsi[3] >= RSIOverBought or rsi[4] >= RSIOverBought or rsi[5] >= RSIOverBought



[currMacd, _, _] = ta.macd(close[0], fastMA, slowMA, signalLength)
[prevMacd, _, _] = ta.macd(close[1], fastMA, slowMA, signalLength)
signal = ta.ema(currMacd, signalLength)

avg_1 = math.avg(currMacd, signal)
crossoverBear = ta.cross(currMacd, signal) and currMacd < signal ? avg_1 : na
avg_2 = math.avg(currMacd, signal)
crossoverBull = ta.cross(currMacd, signal) and currMacd > signal ? avg_2 : na

strategy.entry('buy', strategy.long, when=crossoverBull and wasOversold)
strategy.close('buy', when=crossoverBear and wasOverbought)



Mehr