RSI Long-Short Automatisierte Handelsstrategie


Erstellungsdatum: 2023-10-30 17:13:24 zuletzt geändert: 2023-10-30 17:13:24
Kopie: 2 Klicks: 768
1
konzentrieren Sie sich auf
1617
Anhänger

RSI Long-Short Automatisierte Handelsstrategie

Überblick

Die Strategie basiert auf einem relativ starken (RSI) Indikator, der ein offenes automatisches Handelssystem entwickelt hat. Es kann automatisch ein offenes Signal geben, um automatisch zu handeln, wenn der RSI eine überkaufte überverkaufte Zone erreicht.

Strategieprinzip

Die Strategie erhält einen RSI-Wert im Bereich 0-100 durch Berechnung der Kursbewegungen der Aktien innerhalb eines bestimmten Zeitraums. Wenn der RSI unter 30 liegt, ist es ein Überverkauf, und wenn er über 70 liegt, ist es ein Überkauf. Die Strategie handelt nach dieser Regel, wenn der RSI die Überverkaufszone erreicht, wird automatisch verkauft, und wenn er die Überkaufszone erreicht, wird automatisch gekappt.

Konkret berechnet die Strategie zunächst den RSI-Wert für 15 Zyklen. Wenn der RSI unter 20 fällt, gilt er als Überverkauf, und wenn er den 200-Tage-Moving Average überschreitet, wird eine Übernahme getätigt. Wenn der RSI über 80 steigt, gilt er als Überkauf und wird ein Shorting getätigt.

Die Strategie erlaubt außerdem, die entsprechenden Markierungslinien und Tags zu zeichnen, wenn ein Preissignal auftritt, um das Handelssignal intuitiver zu gestalten.

Strategische Vorteile

  • Strategie ist klar, einfach und leicht zu verstehen
  • Die RSI-Indikatoren sind ein guter Indikator für Überkäufe und Überverkäufe.
  • Vollständig automatisierte Transaktionen ohne menschliche Intervention
  • Einstellung von Stop Losses und effektive Risikokontrolle
  • Handelssignale sind intuitiv und leicht zu überwachen

Strategisches Risiko

  • Der RSI weist eine gewisse Nachlässigkeit auf, die zu Fehleinschätzungen führen kann.
  • Die festgelegte Überkauf-Überverkaufsmarge gilt nicht für alle Sorten.
  • Eine falsche Einstellung des Stop-Loss-Punktes kann zu größeren Verlusten führen.
  • In den Trendmärkten kann es zu Verlusten kommen, wenn man zu viel Shorting macht.

Risikokontrollmaßnahmen umfassen: Optimierung der RSI-Parameter, Anpassung der Überkauf-Überverkauf-Trenchwerte an die verschiedenen Sorten, vernünftige Einstellung von Stop-Loss-Punkten, Vermeidung von Gegenhandel in Kombination mit Trendindikatoren.

Richtung der Strategieoptimierung

  • Optimierung der RSI-Parameter zur Verbesserung der Genauigkeit bei Überkauf und Überverkauf
  • In Kombination mit anderen Indikatoren bestätigen Handelssignale wie KDJ, MACD usw.
  • Optimierung der Stop-Loss-Einstellungen entsprechend der Marktlage
  • Trendschätzung erhöht und Rückwärtsoperationen vermieden
  • Setzen Sie eine Gewinn- und Verlustkurve
  • Entwicklung von Modulen zur Kontrolle von Einzel- und Gesamtrisiken

Zusammenfassen

Die Strategie ist eine automatische Handelsstrategie, die über den RSI-Indikator verwendet, um Überkauf und Überverkauf zu beurteilen. Sie sendet ein Handelssignal aus, wenn der RSI die überkaufte Überverkaufsextreme erreicht. Die Strategie ist einfach, klar und einfach umzusetzen und eignet sich als Basisstrategie für den automatischen Handel.

Strategiequellcode
/*backtest
start: 2023-10-22 00:00:00
end: 2023-10-29 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("RSI Improved strategy", overlay=true)
higherTF1 = input.timeframe('15' , "Resolution", options = ['5', '15', '1H', 'D', 'W', 'M'])
dailyopen = request.security(syminfo.tickerid, higherTF1, close)

Reward = input(1600)
Risk = input(1600)

length = input( 5 )
overSold = input( 30 )
overBought = input( 70 )
EMA = input(200)
price = close

vrsi = ta.rsi(price, length)

RSIlowest =  vrsi[1] > vrsi ? true : false
RSIhighest = vrsi[1] < vrsi ? true : false

//ro = ta.crossunder(vrsi, 20)
//ru = ta.crossover(vrsi, 80)

co = ta.crossunder(vrsi, overSold)
cu = ta.crossunder(vrsi, overBought)

plot(ta.ema(close, EMA))
plot(ta.ema(close, 50), color = color.orange)

UponEMA = close > ta.ema(close, EMA) ? true : false
belowEMA = close < ta.ema(close, EMA) ? true : false
//transfer 'float' to 'int' to 'string'
r = int(vrsi)
value = str.tostring(r)

m = int(strategy.openprofit)
money = str.tostring(m)
if (not na(vrsi))
	//when price stand up on 200ema and rsi is at oversold area, open long position 
//	if (co and UponEMA)
  //      strategy.order("Rsi long", strategy.long, 1 , comment = "Rsi long")
        
    if(vrsi < 20 and RSIlowest)
        // line1 = line.new(x1=bar_index, y1=dailyopen, x2=bar_index+1, y2=dailyopen, xloc=xloc.bar_index, style=line.style_solid,extend=extend.right, color=color.aqua, width = 2)
        // line.delete(line1[1])  // remove the previous line when new bar appears
        // label1 = label.new(x=bar_index, y=dailyopen,yloc=yloc.belowbar, text = value,textcolor = color.white, color = color.green, style = label.style_label_up)
        // label.delete(label1[1])
        strategy.order("Rsi long", strategy.long, 1 , comment = "Rsi long")
        strategy.exit("exit", "Rsi long", profit = Reward, loss = Risk, comment = "Rsi long exit")
//strategy.close("Rsi short", comment = "Rsi close")

	
	

	if(vrsi > 80 and RSIhighest)
        // line2 = line.new(x1=bar_index, y1=dailyopen, x2=bar_index+1, y2=dailyopen, xloc=xloc.bar_index, style=line.style_solid,extend=extend.right, color = #e65100, width = 2)
        // line.delete(line2[1])  // remove the previous line when new bar appears
        // label2 = label.new(x=bar_index, y=dailyopen,yloc=yloc.abovebar, text = value, textcolor = color.white, color = color.red)            
        // label.delete(label2[1])
        strategy.order("Rsi short",strategy.short, 1,  comment = "Rsi short ")
        strategy.exit("exit", "Rsi short", profit = Reward,loss = Risk, comment = "Rsi short exit")
//	if(UponEMA)
//        strategy.close("Rsi short", comment = "Rsi short close")
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_cross)
//plotshape(confirmPH, title="Label",offset = 1,text="Bull",style=shape.labeldown,location=location.abovebar,color=color.green,textcolor=color.green)




//when Rsi reaches overbought, draw a Horizontal Ray to close prices, similarly when it comes to oversold.(accomplished)
//detects when there is more lower/higher RSI values, adjust horizontal Ray and label to new posistion.(accomplished)