Trendfolgestrategie basierend auf dem RSI-Indikator


Erstellungsdatum: 2023-10-26 15:44:15 zuletzt geändert: 2023-10-26 15:44:15
Kopie: 0 Klicks: 689
1
konzentrieren Sie sich auf
1617
Anhänger

Trendfolgestrategie basierend auf dem RSI-Indikator

Überblick

Diese Strategie basiert auf dem RSI-Indikator und ist ein einfaches Trend-Follow-Handelssystem, das die Richtung der Markttrends anhand des RSI-Indikators für einen bestimmten Datumsbereich bestimmen und automatisch mehr Leerlässe ermöglichen kann.

Strategieprinzip

Die Strategie nutzt den RSI, um Markttrends zu bestimmen, und die Bollinger Bands, um überkaufte und überverkaufte Bereiche zu bestimmen.

Zuerst berechnet man den RSI-Wert und berechnet dann den Moving Average und die Standarddifferenz des RSI, um den Bollinger Bands auf und ab zu lenken. Der RSI bewegt sich zwischen 0 und 1, und der Bollinger Band bestimmt den Überkauf-Überverkauf-Bereich durch die Standarddifferenz. Der RSI ist über der Oberbahn als Überkaufzone und unter der Unterbahn als Überverkaufszone.

Wenn der RSI ein Kaufsignal erzeugt, wenn er von der unteren Bahn brecht, um in die oberen Bahn zu gelangen, und ein Verkaufsignal erzeugt, wenn er von der oberen Bahn brecht, um in die unteren Bahn zu gelangen, um den Trend zu folgen. Nach dem Eintritt der Strategie wird kein Stop-Loss-Stop gesetzt, bis die Position am Ende des angegebenen Datums frei ist.

Die Strategie nutzt die RSI-Indikatoren einfach und effektiv, um die Richtung des Trends zu bestimmen, und hilft dabei, die spezifischen Handelszeiten mit Brin-Bändern zu bestimmen. Durch die Begrenzung des Handelsdatums kann unnötiges Risiko vermieden werden.

Analyse der Stärken

  • Der RSI ist einfach und effektiv, um Trends zu erkennen.
  • Brin-Band-Bestätigungssignale, um falsche Durchbrüche zu vermeiden
  • Die Grenze der Handelstage hilft, Marktrisiken zu vermeiden
  • Keine Stop-Loss-Stopps, maximaler Trendverfolgung
  • Flexibel anpassbare Parameter für verschiedene Marktumgebungen

Risiko und Optimierung

  • Der Markt könnte stark schwanken und zu Verlusten führen.
  • Keine Stop-Loss-Stopps, keine wirksame Risikokontrolle
  • Fehlende Parameter können zu häufigen oder verpassten Handelschancen führen

Optimierung:

  • Ein Stop-Loss-Strategie, um die Risiken zu kontrollieren
  • Optimierung der Parameter-Einstellungen und Erhöhung der Gewinnquote
  • Filtersignale in Kombination mit anderen Indikatoren, um falsche Durchbrüche zu vermeiden
  • Dynamische Anpassung der Positionsgröße

Zusammenfassen

Diese Strategie ist im Allgemeinen eine sehr einfache und direkte Trend-Follow-Strategie. Mit dem RSI-Trend-Beschluss, dem Brin-Filter-Signal und dem Handelsdatum-Bereich kann der Trend effektiv verfolgt und das Risiko kontrolliert werden. Die Strategie kann jedoch weiter optimiert werden, indem sie einfach und effektiv bleibt. Die Strategie kann durch Stop-Loss-Stopps, Parameteroptimierung und Signalfilterung weiter verbessert werden, um die Strategie besser für den Handel auf dem Markt zu machen.

Strategiequellcode
/*backtest
start: 2022-10-19 00:00:00
end: 2023-10-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Gidra
//2018

//@version=2
strategy(title = "Gidra's RSI or MFI Strategy v0.1", shorttitle = "Gidra's RSI or MFI v0.1", overlay = false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 1)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot, %")
src = input(close, title="source")
lengthRSI = input(14, title="RSI or MFI length")
// RSI %B
useRSI = input(true, title="use RSI or MFI")
fromyear = input(2018, defval = 2018, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From Day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To Day")

//MFI
upper = sum(volume * (change(src) <= 0 ? 0 : src), lengthRSI)
lower = sum(volume * (change(src) >= 0 ? 0 : src), lengthRSI)
mf = rsi(upper, lower)

//RSI
rsi = useRSI?rsi(src, lengthRSI): mf

// %B
length = input(50, minval=1, title="BB length")
mult = input(1.618, minval=0.001, maxval=50)
basis = sma(rsi, length)
dev = mult * stdev(rsi, length)
upperr = basis + dev
lowerr = basis - dev
bbr = (rsi - lowerr)/(upperr - lowerr)

plot(bbr, color=black, transp=0, linewidth=2)
// band1 = hline(1, color=white, linestyle=dashed)
// band0 = hline(0, color=white, linestyle=dashed)
// fill(band1, band0, color=teal)
hline(0.5, color=white)

//Signals
up = bbr >= 0 and bbr[1] < 0
dn = bbr <= 1 and bbr[1] > 1
//exit = ((bbr[1] < 0.5 and bbr >= 0.5) or (bbr[1] > 0.5 and bbr <= 0.5))

lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 : lot[1]

//Trading
if up
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))

if dn
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
    
if time > timestamp(toyear, tomonth, today, 23, 59)// or exit
    strategy.close_all()