RSI Steigende Krypto-Trend-Strategie

Schriftsteller:ChaoZhang, Datum: 2023-10-17
Tags:

img

Übersicht

Die RSI Rising Crypto Trending Strategy ist eine Trend-Handelsstrategie, die für längere Zeitrahmen (4h+) in Krypto- und Aktienmärkten entwickelt wurde.

Es nutzt den RSI, um steigende und fallende Trends zu identifizieren, kombiniert mit Bollinger Bands und ROC, um den Handel in seitlichen Märkten zu vermeiden.

Strategie Logik

Die Strategie verwendet folgende Indikatoren:

  • RSI - Aufstiegs-/Abstiegstrends zu identifizieren
  • Bollinger-Bänder - zur Identifizierung von seitlichen Märkten
  • ROC - Zur Bestätigung der Trendrichtung

Die spezifischen Handelsregeln sind:

Eintrittsregeln

Long-Entry: RSI steigt UND nicht seitwärts Markt pro BB und ROC Kurzer Eintrag: RSI sinkt UND nicht seitlich Markt pro BB und ROC

Ausgangsregeln

Ausgang, wenn entgegengesetztes Signal ausgelöst wird

Analyse der Vorteile

  • Erfasst Trendwendepunkte frühzeitig mithilfe des RSI
  • Vermeidet es, sich in Seitenmärkten mit BB zu verfangen
  • ROC bestätigt Trendrichtung für stärkere Signale
  • Gut für längerfristige Trades und Trends
  • Für Krypto-/Krypto-Paare besser, um Fiat-Exposition zu vermeiden

Risikoanalyse

  • Kein Stop-Loss so hohes Risiko großer Verluste
  • Schlechte BB- und ROC-Parameter könnten zu verpassten Trades oder schlechten Signalen führen
  • Rein technisch, also verpasst er die großen Black Swan Events.

Erhöhen Sie den Stop-Loss, optimieren Sie BB/ROC-Parameter und integrieren Sie Fundamentalanalysen.

Möglichkeiten zur Verbesserung

Einige Möglichkeiten, wie diese Strategie verbessert werden könnte:

  1. Hinzufügen von Stop Loss für das Risikomanagement und Festlegen von maximalen Verlusten pro Handel.

  2. Optimieren der BB- und ROC-Parameter durch Backtesting, um die besten Einstellungen zu finden.

  3. Zusätzliche Indikatoren wie MACD, KD für die Zuverlässigkeit von Signalen mit mehreren Indikatoren.

  4. Erstellen Sie ein Liquiditätsmodell, um den Handel bei Volatilitätsspitzen zu unterbrechen, um Fallen zu vermeiden.

  5. Verwenden Sie maschinelles Lernen, um automatisch Parameter und Signalgewichtung zu optimieren.

  6. Einbeziehung von On-Chain-Daten wie Börsenliquidität und Fondsströme für mehr Anpassungsfähigkeit.

Zusammenfassung

Die RSI Rising Crypto Trend Strategy erfasst langfristige Krypto-Trends mit RSI plus BB und ROC. Der Vorteil besteht darin, Trendumkehrungen schnell zu erkennen und Fallen zu vermeiden. Die Schwächen sind kein Stop-Loss und Parameterabhängigkeit. Verbesserungen wie Stop-Loss, Optimierung, maschinelles Lernen können es robuster machen.


/*backtest
start: 2023-09-16 00:00:00
end: 2023-10-16 00:00:00
period: 2h
basePeriod: 15m
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/
// © exlux99

//@version=4
strategy(title = "RSI Rising", overlay = true, initial_capital = 100, default_qty_type= strategy.percent_of_equity, default_qty_value = 100, slippage=0,commission_type=strategy.commission.percent,commission_value=0.03)

/////////////////////
source          = close
bb_length       = 20
bb_mult         = 1.0
basis           = sma(source, bb_length)
dev             = bb_mult * stdev(source, bb_length)
upperx           = basis + dev
lowerx           = basis - dev
bbr             = (source - lowerx)/(upperx - lowerx)
bbr_len         = 21
bbr_std         = stdev(bbr, bbr_len)
bbr_std_thresh  = 0.1
is_sideways     = (bbr > 0.0 and bbr < 1.0) and bbr_std <= bbr_std_thresh


////////////////
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2010, title = "From Year", minval = 1970)
 //monday and session 
// To Date Inputs
toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2021, title = "To Year", minval = 1970)

startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true


sourcex = close
length = 2
pcntChange = 1

roc = 100 * (sourcex - sourcex[length])/sourcex[length]
emaroc = ema(roc, length/2)
isMoving() => emaroc > (pcntChange / 2) or emaroc < (0 - (pcntChange / 2))


periods = input(19)
smooth = input(14, title="RSI Length" )
src = input(low, title="Source" )


rsiClose = rsi(ema(src, periods), smooth)
long=rising(rsiClose,2) and not is_sideways and isMoving()
short=not rising(rsiClose,2) and not is_sideways and isMoving()


if(time_cond)
    strategy.entry('long',1,when=long)
    strategy.entry('short',0,when=short)


Mehr