RSI-Umkehrstrategie mit MACD-Indikator


Erstellungsdatum: 2024-01-15 12:33:14 zuletzt geändert: 2024-01-15 12:33:14
Kopie: 0 Klicks: 763
1
konzentrieren Sie sich auf
1617
Anhänger

RSI-Umkehrstrategie mit MACD-Indikator

Überblick

Die Strategie basiert auf den RSI-Werten des MACD-Indikators, um Kauf- und Verkaufssignale zu ermitteln. Kaufen Sie, wenn die RSI-Werte über die Überkauf- oder Überverkaufsgrenze hinausgehen, und verlieren oder stoppen Sie, wenn die RSI-Werte die Überverkaufsgrenze überschreiten.

Strategieprinzip

Die Strategie kombiniert die Vorzüge der MACD und des RSI.

Zuerst berechnen Sie die drei Kurven des MACD-Indikators, einschließlich der DIF-Linie, der DEA-Linie und der MACD-Linie. Dann berechnen Sie den RSI-Indikator auf der MACD-Linie, um den RSI des MACD zu bilden.

Wenn der RSI of MACD über 30 oder 35 überschreitet, wird ein Kaufsignal erzeugt, um zu zeigen, dass die MACD-Linie in die Überverkaufszone eingetreten ist und der Aktientrend sich umkehrt. Wenn der RSI of MACD wieder unter 15 fällt, wird ein Verkaufsignal erzeugt, um die Trendwende zu beenden.

Die Strategie bietet auch eine partielle Stop-Off, bei der ein Teil der Position verkauft werden kann, um einen Teil der Gewinne zu sperren, wenn der RSI des MACD-Indikators über 80 liegt.

Analyse der Stärken

  • Die MACD-Indikatoren werden verwendet, um Trendwendepunkte zu ermitteln.
  • Filter falsche Signale mit dem RSI-Indikator für überkaufende und überverkaufte Bereiche
  • Die Beurteilung der Binärindikatoren und die Ermittlung von Kauf- und Verkaufsplätzen
  • Setzen Sie einen Teilstop, um zu verhindern, dass sich die Verluste ausdehnen

Risikoanalyse

  • Die MACD-Indikatorparameter sind falsch eingestellt und können keine Trends genau bestimmen.
  • Der RSI ist falsch eingestellt, was zu einem Überkauf und Überverkauf führt
  • Einige Stop-Sets sind zu radikal und könnten einen größeren Anstieg verpassen.

Die Lösung:

  • Optimierung von MACD-Parametern, um die beste Kombination zu finden
  • Optimierung der RSI-Parameter zur Verbesserung der Genauigkeit
  • Die Einführung einer angemessenen Lockerung der Restbedingungen für größere Gewinne

Optimierungsrichtung

Die Strategie kann auch in folgenden Richtungen optimiert werden:

  1. Erhöhung der Stop-Loss-Strategie zur weiteren Eindämmung des Abnahmerisikos
  2. Hinzufügen eines Positionsmanagement-Moduls, um die Positionen im Zuge der Preisentwicklung zu vergrößern
  3. Integrierte maschinelle Lernmodelle, die historische Daten-Training nutzen, um die Genauigkeit von Kauf- und Verkaufssituationen weiter zu verbessern
  4. Versuchen Sie, in kürzeren Perioden wie 15 Minuten oder 5 Minuten zu laufen, um die Häufigkeit der Strategie weiter zu erhöhen

Zusammenfassen

Die Strategie ist klar konzipiert und basiert auf der Theorie, dass der MACD-Rückschlag in Kombination mit dem RSI-Filter die Kauf- und Verkaufsposition bestimmen kann. Durch Parameteroptimierung, Stop-Loss-Management, Risikokontrolle und andere Mittel kann es zu einer sehr praktischen quantitativen Handelsstrategie werden.

Strategiequellcode
/*backtest
start: 2024-01-07 00:00:00
end: 2024-01-14 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © mohanee

//@version=4

strategy(title="RSI of MACD Strategy[Long only]",  shorttitle="RSIofMACD" , overlay=false, pyramiding=1,     default_qty_type=strategy.percent_of_equity,  default_qty_value=20, initial_capital=10000, currency=currency.USD)  //default_qty_value=10, default_qty_type=strategy.fixed,

	

/////////////////////////////////////////////////////////////////////////////////



// MACD Inputs ///
fastLen = input(12, title="Fast Length")
slowLen = input(21, title="Slow Length")
sigLen  = input(9, title="Signal Length")

rsiLength  = input(14, title="RSI of MACD Length")




riskCapital = input(title="Risk % of capital", defval=10, minval=1)
stopLoss=input(3,title="Stop Loss",minval=1)

takeProfit=input(false, title="Take Profit")


[macdLine, signalLine, _] = macd(close, fastLen, slowLen, sigLen)

rsiOfMACD = rsi(macdLine, rsiLength)
emaSlow = ema(close, slowLen)



//drawings
/////////////////////////////////////////////////////////////////////////////////


obLevelPlot = hline(80, title="Overbought / Profit taking line",  color=color.blue , linestyle=hline.style_dashed)
osLevelPlot = hline(30, title="Oversold / entry line", color=color.green, linestyle=hline.style_dashed)

exitLinePlot = hline(15, title="Exit line", color=color.red, linestyle=hline.style_dashed)




plot(rsiOfMACD, title = "rsiOfMACD" ,  color=color.purple)


//drawings
/////////////////////////////////////////////////////////////////////////////////




//Strategy Logic 
/////////////////////////////////////////////////////////////////////////////////

//Entry--
//Echeck how many units can be purchased based on risk manage ment and stop loss
qty1 = (strategy.equity  * riskCapital / 100 ) /  (close*stopLoss/100)  

//check if cash is sufficient  to buy qty1  , if capital not available use the available capital only
qty1:= (qty1 * close >= strategy.equity ) ? (strategy.equity / close) : qty1


strategy.entry(id="RSIofMACD", long=true,   qty=qty1,  when =  ( crossover(rsiOfMACD, 30) or crossover(rsiOfMACD, 35)  ) and close>=emaSlow )



bgcolor(abs(strategy.position_size)>=1 ? color.blue : na , transp=70)


barcolor(abs(strategy.position_size)>=1 and  ( crossover(rsiOfMACD, 30) or crossover(rsiOfMACD, 35) ) ? color.purple : abs(strategy.position_size)>=1 ? color.blue : na  )


//partial exit
strategy.close(id="RSIofMACD", comment="PExit Profit is "+tostring(close - strategy.position_avg_price,  "###.##")  ,  qty=strategy.position_size/3, when= takeProfit and abs(strategy.position_size)>=1 and close > strategy.position_avg_price and crossunder(rsiOfMACD,80) )

//Close All
strategy.close(id="RSIofMACD", comment="Close All   Profit is "+tostring(close - strategy.position_avg_price,  "###.##"), when=abs(strategy.position_size)>=1 and crossunder(rsiOfMACD,15) ) //and close > strategy.position_avg_price )


//Strategy Logic 
/////////////////////////////////////////////////////////////////////////////////