Diese Strategie verwendet den MACD-Indikator, um den Trend des RSI-Indikators zu bestimmen und Handelssignale zu generieren.
Die Strategie basiert auf zwei Hauptindikatoren:
RSI Berechnet den regelmäßigen 14-Perioden-RSI.
MACD des RSI Berechnet MACD-Werte für den RSI, mit Standard-schnellen MA 12, langsamen MA 26, Signallinie 9.
Wenn der MACD des RSI nach oben kreuzt, das schnelle und langsame MAs goldene Kreuz, bestimmt es einen Aufwärtstrend und geht lang.
Wenn sich der MACD nach unten kreuzt, die schnellen und langsamen MA-Toten kreuzen, bestimmt er einen Abwärtstrend und geht kurz.
Die exponentiellen gleitenden Durchschnitte des MACD helfen, den längerfristigen Trend des RSI selbst zu bestimmen, was zu genaueren Signalen führt.
Die Risiken können verringert werden, indem
Die Strategie kann verbessert werden durch:
Prüfung von Kombinationen von RSI- und MACD-Parametern
Hinzufügen einer sekundären Bestätigung, wenn MACD Signale
Z.B. Kerzenmuster, Volumen, Bollinger-Bänder usw.
Optimierung von Stopps zu Trailing Stops
Hinzufügen von Wiedereinreisebestimmungen
Wiederherstellung von Positionen nach Erreichen von Stops, falls der Trend anhält
Anpassung der Positionsgrößen an die Volatilität
Bei hoher Volatilität kleiner, bei geringer Volatilität größer
Diese Strategie kombiniert RSI und MACD-Indikatoren, um sich gegenseitig zu überprüfen, um eine genauere und stabilere Trenddetektion zu erzielen. Aber die Parameter müssen optimiert werden, und zusätzliche technische Filter oder Handelsregeln sind für die Bestätigung erforderlich, um plötzliche Ereignisse zu vermeiden. Auch Stop-Loss-Mechanismen und dynamische Positionsgrößen sind wichtig.
/*backtest start: 2022-09-14 00:00:00 end: 2023-09-20 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title = "MACD of RSI", overlay = false) //////////////////////// RSI /////////////////////////// src = close, len = input(14, minval=1, title="Length") up = sma(max(change(src), 0), len) down = sma(-min(change(src), 0), len) rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down)) //////////////////////// RSI ////////////////////////// //////////////// MACD //////////////////////////// sourcemacd = rsi fastLength = input(12, minval=1), slowLength=input(26,minval=1) signalLength=input(9,minval=1) fastMA = ema(sourcemacd, fastLength) slowMA = ema(sourcemacd, slowLength) macd = fastMA - slowMA signal = ema(macd, signalLength) delta=macd-signal swap1 = delta>0?green:red plot(delta,color=swap1,style=columns,title='Histo',histbase=0,transp=20) p1 = plot(macd,color=blue,title='MACD Line') p2 = plot(signal,color=red,title='Signal') fill(p1, p2, color=blue) hline(0) /////////////////////////MACD ////////////////////////// // Conditions longCond = na sellCond = na longCond := crossover(delta,0) sellCond := crossunder(delta,0) monthfrom =input(6) monthuntil =input(12) dayfrom=input(1) dayuntil=input(31) if ( longCond ) strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND", comment="BUY") else strategy.cancel(id="BUY") if ( sellCond ) strategy.close("BUY")