Schnelle RSI-Gap-Strategie für Kryptowährungen


Erstellungsdatum: 2023-11-27 11:22:19 zuletzt geändert: 2023-11-27 11:22:19
Kopie: 0 Klicks: 643
1
konzentrieren Sie sich auf
1617
Anhänger

Schnelle RSI-Gap-Strategie für Kryptowährungen

Übersicht: Die Strategie ist eine Schnell-RSI-Sprung-Trading-Strategie, die auf Kryptowährungen angewendet wird. Sie nutzt gleichzeitig den Schnell-RSI-Indikator und die K-Linie-Strategie, um nach Handelsmöglichkeiten zu suchen.

Die Strategie: Die Strategie verwendet zwei Hauptindikatoren gleichzeitig: den schnellen RSI und die springende K-Linie.

Zuerst berechnet er einen schnellen RSI-Indikator mit nur 7 K-Linien. Der RSI ist viel empfindlicher und kann schnell überkaufte und überverkaufte Ereignisse erfassen. Setzen Sie den RSI-Obergrenze auf 70 und die Untergrenze auf 30. Wenn der RSI größer als 70 ist, ist es überkauft, wenn er kleiner als 30 ist, ist es überverkauft.

Zweitens erkennt es die K-Linie, bei der der Sprung auftritt. Der Sprung zeigt, dass der Börsengeschäftspreis eine größere Lücke zum Schlusskurs des Vortages aufweist. Der Sprung ist ein hochflüchtiges Signal, das eine mögliche Trendwende voraussagt.

Wenn eine nach unten sprungende K-Linie erkannt wird und der schnelle RSI-Indikator überkauft, machen Sie mehr. Wenn eine nach oben sprungende K-Linie erkannt wird und der schnelle RSI-Indikator überkauft, machen Sie mehr.

Darüber hinaus verwendet die Strategie den SMA-Mittellinien und den Minimum-Maximum-Indikatoren als Filter, um falsche Geschäfte zu vermeiden. Nur wenn der Filter überschritten wird, wird ein echtes Handelssignal ausgesendet.

Die Analyse der Stärken: Der größte Vorteil dieser Strategie besteht darin, schnelle Überkaufe und Überverkäufe sowie Umkehrmöglichkeiten zu erfassen. Sie ist besonders für den stark schwankenden Kryptowährungsmarkt geeignet, um schnelle Trendwendepunkte zu erfassen. Im Vergleich zum regulären RSI ist der schnelle RSI empfindlicher und kann sich an den hochfrequenten Handel mit Kryptowährungen anpassen.

Risikoanalyse: Die Strategie birgt vier große Risiken:

  1. Der schnelle RSI ist zu empfindlich eingestellt, was zu einem hohen Risiko für Fehlsignale führt.

  2. Der Sprung kann eine normale Preisschwankung sein und nicht eine echte Umkehrung, und die Strategie kann das Risiko eines Stop-Losses haben.

  3. Es ist nicht so, dass man sich in der Lage fühlt, in einer Zeit, in der die Dinge ruhig sind, länger auf der Plattform zu liegen.

  4. Die falsche Einstellung von Strategieparametern wie Minimal-Maximal-Indikatorlänge führt zu Signalverdünnung und geringer Effizienz.

Entsprechend können die folgenden Maßnahmen eingesetzt werden, um diese Risiken zu verringern:

  1. Regulieren Sie die Parameter des schnellen RSI und erhöhen Sie die Anzahl der RSI-Zyklen entsprechend;

  2. Der Einsatz von mobilen Stop-Losses, um Gewinne zu sichern und Verluste durch die Sprungverfolgung zu vermeiden;

  3. Optimierung der Beteiligungssituation der Strategie, die Beteiligung an der Strategie zur Kontrolle der niedrigen Volatilität;

  4. Wiederholte Tests und Optimierung von Parametern, um die besten Parameter zu finden, um die Wirksamkeit der Strategie zu gewährleisten.

Optimierung: Die Optimierung der Strategie basiert auf folgenden Aspekten:

  1. Erforschung der Kombination von anderen Preisindikatoren wie MACD, KDJ und anderen, um die Signalgenauigkeit zu verbessern;

  2. Die Einführung von adaptiven Stop-Loss-Einstellungen, die den Stop-Loss automatisch an Marktbewegungen anpassen.

  3. Bindungsenergieindikatoren wie OBV zur Überprüfung von Bestätigungssignalen für Sprünge und zur Bestätigung von Trendumkehrungen;

  4. Optimierung der Länge und der Parameter der Filter, um die optimale Kombination von Parametern zu finden, um Fehlmeldungen zu reduzieren;

  5. Untersuchen Sie die Anpassung der verschiedenen Kryptowährungen an die Strategieparameter und legen Sie die Parameter genauer fest.

Durch diese Optimierungen können die Stabilität, Anpassungsfähigkeit und Zuverlässigkeit der Strategien verbessert werden.

Zusammenfassung: Die schnelle RSI-Overflow-Strategie ist eine hocheffiziente Handelsstrategie, die speziell für die Volatilität von Kryptowährungen entwickelt wurde. Sie kombiniert die Sensitivität des schnellen RSI-Indikators und die Vorhersagbarkeit von K-Linien. Durch kontinuierliche Tests und Optimierungen kann die Fähigkeit der Strategie, schnelle Marktausflüge zu erfassen, weiter verbessert werden, um langfristige, stabile Erträge in einem volatilen Kryptowährungsmarkt zu erzielen.

Strategiequellcode
/*backtest
start: 2023-10-27 00:00:00
end: 2023-11-26 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=3
strategy(title = "Noro's Fast RSI Strategy v1.5", shorttitle = "Fast RSI str 1.5", overlay = true)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
usersi = input(true, defval = true, title = "Use Fast RSI Strategy")
usemm = input(true, defval = true, title = "Use Min/Max Strategy")
usesma = input(false, defval = false, title = "Use SMA Filter")
smaperiod = input(20, defval = 20, minval = 2, maxval = 1000, title = "SMA Filter Period")
fast = input(7, defval = 7, minval = 2, maxval = 50, title = "Fast RSI Period")
limit = input(30, defval = 30, minval = 1, maxval = 100, title = "RSI limit")
rsisrc = input(close, defval = close, title = "RSI Price")
rsibars = input(1, defval = 1, minval = 1, maxval = 20, title = "RSI Bars")
mmbars = input(1, defval = 1, minval = 1, maxval = 5, title = "Min/Max Bars")
showsma = input(false, defval = false, title = "Show SMA Filter")
showarr = input(false, defval = false, title = "Show Arrows")
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")

//Fast RSI
fastup = rma(max(change(rsisrc), 0), fast)
fastdown = rma(-min(change(rsisrc), 0), fast)
fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))

//Limits
bar = close > open ? 1 : close < open ? -1 : 0
uplimit = 100 - limit
dnlimit = limit

//RSI Bars
upsignal = fastrsi > uplimit ? 1 : 0
dnsignal = fastrsi < dnlimit ? 1 : 0
uprsi = sma(upsignal, rsibars) == 1
dnrsi = sma(dnsignal, rsibars) == 1

//Body
body = abs(close - open)
abody = sma(body, 10)

//MinMax Bars
min = min(close, open)
max = max(close, open)
minsignal = min < min[1] and bar == -1 and bar[1] == -1 ? 1 : 0
maxsignal = max > max[1] and bar == 1 and bar[1] == 1 ? 1 : 0
mins = sma(minsignal, mmbars) == 1
maxs = sma(maxsignal, mmbars) == 1

//SMA Filter
sma = sma(close, smaperiod)
colorsma = showsma ? blue : na
plot(sma, color = colorsma, linewidth = 3)

//Signals
up1 = bar == -1 and (strategy.position_size == 0 or close < strategy.position_avg_price) and dnrsi and body > abody / 5 and usersi
dn1 = bar == 1 and (strategy.position_size == 0 or close > strategy.position_avg_price) and uprsi and body > abody / 5 and usersi
up2 = mins and (close > sma or usesma == false) and fastrsi < 70 and usemm
dn2 = maxs and (close < sma or usesma == false) and fastrsi > 30 and usemm 
exit = ((strategy.position_size > 0 and fastrsi > dnlimit and bar == 1) or (strategy.position_size < 0 and fastrsi < uplimit and bar == -1)) and body > abody / 2

//Arrows
col = exit ? black : up1 or dn1 ? blue : up2 or dn2 ? red : na
needup = up1 or up2
needdn = dn1 or dn2
needexitup = exit and strategy.position_size < 0
needexitdn = exit and strategy.position_size > 0
plotarrow(showarr and needup ? 1 : na, colorup = blue, colordown = blue, transp = 0)
plotarrow(showarr and needdn ? -1 : na, colorup = blue, colordown = blue, transp = 0)
plotarrow(showarr and needexitup ? 1 : na, colorup = black, colordown = black, transp = 0)
plotarrow(showarr and needexitdn ? -1 : na, colorup = black, colordown = black, transp = 0)

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

if dn1 or dn2
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na, 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()