
Die Strategie erzeugt ein Handelssignal, indem sie die Kreuzung der beiden Indikatoren MACD und RSI berechnet. Die Strategie kombiniert die Vorteile zweier verschiedener Arten von Indikatoren und berücksichtigt sowohl die Tendenz der Preise als auch die Überkauf-Überverkaufssituation, um die Effektivität der Strategie zu verbessern.
Die Strategie nutzt hauptsächlich die Kombination von MACD und RSI, um Handelssignale zu erzeugen. Die MACD wird verwendet, um Preistrends und -dynamiken zu bestimmen, während der RSI für Überbuying und Überselling verwendet wird.
Die Strategie berechnet zunächst die schnelle und langsame Mittellinie und die Signallinie des MACD. Eine schnelle Linie, die größer ist als die langsame Linie, erzeugt ein Gold-Fork-Signal, und eine schnelle Linie, die kleiner ist als die langsame Linie, erzeugt ein Dead-Fork-Signal. Dies bedeutet, dass sich die Tendenz und die Dynamik des Preises ändern.
Gleichzeitig berechnet die Strategie den RSI-Indikator und setzt Überkauf- und Überverkaufslinien. Wenn der RSI unter der Überverkaufslinie liegt, ist es überkauft, wenn der RSI über der Überkaufslinie liegt, ist es überkauft.
Bei einem Überkauf-Überverkauf auf dem RSI erzeugt die Strategie ein Kaufsignal bei einem MACD-Goldfork und ein Verkaufssignal bei einem MACD-Dotfork. Das heißt, die Sensitivität des MACD-Indikators wird genutzt, um einen Wendepunkt zu erfassen, wenn sich der Preisentwicklung umkehrt. Die Rolle des RSI-Indikators besteht darin, fehlerhafte Transaktionen zu vermeiden, wenn kein Überkauf-Überverkauf stattfindet.
Die Strategie kombiniert die Vorteile der beiden Indikatoren MACD und RSI, um die Effektivität der Strategie zu verbessern.
Der MACD-Indikator ist empfindlich für Preisänderungen, der RSI berücksichtigt Überkauf und Überverkauf, die sich ergänzen.
Die Kombination der beiden Indikatoren filtert einige der lauten Handelssignale aus und reduziert unnötige Transaktionen.
Der MACD-Statistikwert ist der Durchschnittsdifferenzwert, der RSI-Statistikwert der Preisänderungsquote. Beide Methoden können gegenseitig verifiziert werden.
Die MACD-Reaktionspreise wechseln schnell, die RSI-Reaktionspreise weichen deutlich ab und die Kombination wirkt gut.
Die Strategie birgt auch einige Risiken, die zu beachten sind:
MACD und RSI sind anfällig für Überraschungen und können falsche Signale erzeugen. Die Parameter können entsprechend angepasst werden, um die Signale zu filtern.
Ein einzelner Aktienanteil kann nicht so gut sein, dass ein Index oder eine Kombination in Betracht gezogen werden können.
Ein Signal, das sowohl MACD-Cross als auch RSI-Over-Buy-Over-Sell-Konditionen erfüllt, kann einige Gelegenheiten verpassen. Die RSI-Parameteranforderungen können entsprechend gesenkt werden.
Die Strategie kann auch in folgenden Bereichen optimiert werden:
Optimierung der MACD- und RSI-Parameter, um sie besser an die Eigenschaften der verschiedenen Sorten anzupassen.
Steigerung der Stop-Loss-Strategie, um die Verluste bei einem bestimmten Prozentsatz zu stoppen.
In Kombination mit anderen Indikatoren wie Brinband, KDJ usw. werden strengere Handelssignalbedingungen festgelegt.
Strategie auf Hochfrequenzdaten ausführen, um die schnelle und langsame Eigenschaft von MACD zu nutzen und die Effektivität der Strategie zu verbessern.
Anhand der Rückmessungen wird die Überkauf-Überverkauf-Linie des RSI angepasst, um die optimale Kombination der Parameter zu finden.
Die MACD- und RSI-Kreuzung, kombiniert mit Trendverfolgung und Überkauf-Überverkauf-Urteilen, kann die Effektivität der Strategie verbessern. Es gibt jedoch einige Einschränkungen, die ständig getestet und optimiert werden müssen, um die Effektivität der Strategie zu maximieren.
/*backtest
start: 2023-01-16 00:00:00
end: 2024-01-22 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)