Quantitative Handelsstrategie basierend auf RSI-Indikatorsignalen


Erstellungsdatum: 2023-09-14 20:26:49 zuletzt geändert: 2023-09-14 20:26:49
Kopie: 0 Klicks: 674
1
konzentrieren Sie sich auf
1617
Anhänger

In diesem Artikel wird eine quantitative Strategie beschrieben, die den RSI zur Erstellung von Handelssignalen verwendet. Die Strategie behandelt den RSI und legt die Ein- und Ausstiegsbedingungen für den OTC-Handel fest.

  1. Strategische Grundlagen

Die wichtigsten Transaktionslogiken der Strategie lauten:

  1. Der RSI wird berechnet und mit der EMA behandelt, um die behandelte Schwingung zu erhalten.

  2. Der Brin-Band wird auf dem verarbeiteten RSI berechnet, um eine Auf- und Abwärtsbahn zu erhalten.

  3. Wenn der RSI nach der Verarbeitung unter der Einstiegslinie durchbricht, erzeugt er ein Kaufsignal. Wenn er über die Einstiegslinie durchbricht, erzeugt er ein Verkaufsignal.

  4. Wenn der Indikator in die Überkauf-Überverkauf-Bereich eintritt, erzeugt er ein Flat-Signal.

Auf diese Weise können die Eigenschaften des RSI-Indikators genutzt werden, um Wendechancen zu erfassen und die Signalqualität und den Referenzwert zu verbessern.

  1. Strategische Vorteile

Der größte Vorteil dieser Strategie besteht darin, dass der Prozess der Kennzahlenverarbeitung den Parameterraum erhöht und die Handelsfrequenz streng kontrolliert wird, um Überhandelungen zu vermeiden.

Ein weiterer Vorteil ist, dass die Eintrittsbedingungen einfach und intuitiv sind und der Zeitpunkt des Handels durch die eindeutigen Zahlenwerte des Indikators beurteilt werden kann.

Schließlich hilft die Einstellung des Überkauf-Überverkauf-Bereichs auch, die Stop-Loss-Risiken rechtzeitig zu stoppen und das Risiko eines einzelnen Handels zu kontrollieren.

  1. Potenzielle Risiken

Aber diese Strategie birgt auch folgende Risiken:

Zunächst einmal konzentriert sich der RSI auf den Umkehrhandel und ist anfällig für Fehlsignale im Trend.

Zweitens kann eine falsche Parameter-Einstellung zu einer Überoptimierung führen, die sich nicht an veränderte Marktstrukturen anpasst.

Letztendlich ist die niedrigere Gewinnrate mit einem gewissen Druck verbunden.

Vier Inhalte, Zusammenfassung

Dieser Artikel beschreibt vor allem eine quantitative Handelsstrategie, die die RSI-Indikatoren nutzt. Sie steuert die Handelsfrequenz durch Parameterregelung sowie durch klare Ein- und Ausstiegsregeln. Während die Parameter optimiert werden müssen, müssen auch die Risiken des Umkehrhandels kontrolliert werden.

Strategiequellcode
/*backtest
start: 2023-08-14 00:00:00
end: 2023-09-13 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
//-----------------------------------------------------------------
//This simple strategy base on RSI, EMA, Bollinger Bands to get Buy and Sell Signal with detail as below:
//-----------------------------------------------------------------
//1.Define Oscillator Line
//+ Oscillator Line is smoothed by ema(28) of RSI(14) on H1 Timeframe
//2.Define Overbought and Oversold
//+ Apply Bollinger Bands BB(80,3) on Oscillator Line and calculate %b
//+ Overbought Zone marked above level 0.8
//+ Oversold Zone marked below level 0.2
//3.Buy Signal
//+ Entry Long Positon when %b crossover Point of Entry Long
//+ Deafault Point of Entry Long is 0.2
//+ Buy signal marked by Green dot
//4.Sell Signal
//+ Entry Short Position when %b crossunder Point of Entry Short
//+ Deafault Point of Entry Short is 0.8
//+ Sell signal marked by Red dot
//5.Exit Signal
//+ Exit Position (both Long and Short) when %b go into Overbought Zone or Oversold Zone
//+ Exit signal marked by Yellow dot
//-----------------------------------------------------------------
strategy(title="RSI %b Signal [H1 Backtesting]", overlay=false)

//RSI
rsi_gr="=== RSI ==="
rsi_len = input(14, title = "RSI",inline="set",group=rsi_gr)
smoothed_len = input(28, title = "EMA",inline="set",group=rsi_gr)
rsi=ta.ema(ta.rsi(close,rsi_len),smoothed_len)
//rsi's BOLLINGER BANDS
pb_gr="=== %b ==="
length = input(80, title = "Length",inline="set1",group=pb_gr)
rsimult = input(3.0, title = "Multiplier",inline="set1",group=pb_gr)
ovb = input(0.8, title = "Overbought",inline="set2",group=pb_gr)
ovs = input(0.2, title = "Oversold",inline="set2",group=pb_gr)
et_short = input(0.8, title = "Entry Short",inline="set3",group=pb_gr)
et_long = input(0.2, title = "Entry Long",inline="set3",group=pb_gr)
[rsibasis, rsiupper, rsilower] = ta.bb(rsi, length, rsimult)
//rsi's %B
rsipB = ((rsi - rsilower) / (rsiupper - rsilower))
plot(rsipB, title="rsi's %B", color=rsipB>math.min(ovb,et_short)?color.red:rsipB<math.max(ovs,et_long)?color.green:color.aqua, linewidth=1)

h1=hline(1,color=color.new(color.red,100))
h4=hline(ovb,color=color.new(color.red,100))
h0=hline(0,color=color.new(color.green,100))
h3=hline(ovs,color=color.new(color.green,100))
h5=hline(0.5,color=color.new(color.silver,0),linestyle=hline.style_dotted)

fill(h1,h4, title="Resistance", color=color.new(color.red,90))
fill(h0,h3, title="Support", color=color.new(color.green,90))

//Signal
rsi_buy=
           rsipB[1]<et_long
           and
           rsipB>et_long
rsi_sell=
           rsipB[1]>et_short
           and
           rsipB<et_short
rsi_exit=
           (rsipB[1]>ovs and rsipB<ovs)
           or
           (rsipB[1]<ovb and rsipB>ovb)
plotshape(rsi_buy?rsipB:na,title="Buy",style=shape.circle,color=color.new(color.green,0),location=location.absolute)
plotshape(rsi_sell?rsipB:na,title="Sell",style=shape.circle,color=color.new(color.red,0),location=location.absolute)
plotshape(rsi_exit?rsipB:na,title="Exit",style=shape.circle,color=color.new(color.yellow,0),location=location.absolute)
//Alert
strategy.entry("Long",strategy.long,when=rsi_buy)
strategy.close("Long",when=rsi_exit)
strategy.entry("Short",strategy.short,when=rsi_sell)
strategy.close("Short",when=rsi_exit)
//EOF