Relative Strength Index Lang-/Kurzstrategie

Schriftsteller:ChaoZhang, Datum: 2023-11-16 17:06:14
Tags:

img

Übersicht

Diese Strategie erzeugt Handelssignale, indem der RSI-Indikator einer Kryptowährung mit dem RSI-Indikator eines Kryptomarktindex verglichen wird, um den relativen Wert der Kryptowährung gegenüber dem Kryptomarkt zu beurteilen.

Strategie Logik

Die Strategie erlaubt es, zuerst einen Krypto-Marktindex auszuwählen, z. B. Gesamtmarktkapitalisierung, Gesamtmarktkapitalisierung ohne Bitcoin, Marktkapitalisierung anderer Münzen usw. Es wählt auch einen höheren Zeitrahmen des Krypto-Index, standardmäßig auf täglich. Dann berechnet es den RSI der ausgewählten Kryptowährung und den RSI des Krypto-Index und erzeugt einen relativen Stärke-Index auf der Grundlage ihres Verhältnisses. Wenn der Relativen Stärke-Index über den angegebenen Parameter überschreitet, wird ein Kaufsignal generiert. Wenn er unterhalb überschreitet, wird ein Verkaufssignal generiert.

Die Kernlogik ist, dass, wenn der RSI der Kryptowährung stärker ist als der Kryptoindex, dies bedeutet, dass die Münze im Vergleich zum Markt relativ unterbewertet ist und das Potenzial hat, überbewertet zu werden, so dass sie gekauft werden kann. Wenn der Münz RSI schwächer ist als der Marktindex, bedeutet dies, dass die Münze im Vergleich zum Markt relativ überbewertet ist und das Potenzial hat, unterbewertet zu werden, so dass sie verkauft werden kann. Der relative Stärkeindex ermöglicht genauere Bewertungsurteile.

Analyse der Vorteile

Der größte Vorteil dieser Strategie ist, dass sie den Relative Strength Index verwendet, der eine genauere Bewertung von Kryptowährungen ermöglicht, anstatt sich ausschließlich auf technische Indikatoren einer einzelnen Münze zu verlassen, um Entscheidungen zu treffen, und die Falle zu vermeiden, die Dinge isoliert zu betrachten.

Der Relative Strength Index berücksichtigt die Auswirkungen des Gesamtmarktumfelds auf einzelne Münzen und kann den Marktrotationsrhythmus und die Sektorrotationen erfassen und wertvolle Münzen aus dem Markt holen.

Außerdem bietet die Strategie mehrere Indexwahlen, die für verschiedene Marktumgebungen optimiert werden können, um die Wirksamkeit der Strategie zu gewährleisten.

Risikoanalyse

Das Hauptrisiko dieser Strategie besteht darin, dass der Relative Strength Index lediglich ein Bewertungswerkzeug ist und keine vollständigen Handelsrisiken aus den technischen Mustern einzelner Münzen vermeiden kann.

Zum Beispiel, wenn die Münze in ein offensichtliches Kopf-und-Schulter-Oberumkehrmuster eingetreten ist, und sich die Marktstruktur geändert hat, könnte die ausschließliche Abhängigkeit von den relativen Kaufsignalen zu Verlusten führen.

Daher muss die Strategie die technischen Muster der einzelnen Kryptowährungen selbst kombinieren, um ungünstige Trades an kritischen technischen Punkten zu vermeiden.

Ein weiteres Risiko ist, wenn der ausgewählte Index unangemessen ist und eine geringe Korrelation mit der Kryptowährung aufweist, dann wäre die Indikatorleistung des Relative Strength Index weitgehend beeinträchtigt. Dies erfordert die Optimierung der Indexwahl basierend auf der Korrelation zwischen verschiedenen Münzen und Marktindizes.

Optimierungsrichtlinien

Die Strategie kann in folgenden Aspekten optimiert werden:

  1. Fügen Sie Stop-Loss-Strategien hinzu, um Verluste rechtzeitig zu reduzieren, wenn sich die Preise umkehren.

  2. Optimieren Sie die Indexwahl, passen Sie verschiedene Indizes für verschiedene Münzen an, um die Korrelation zu erhöhen.

  3. Hinzufügen von mehreren Zeitrahmenkombinationen, wie zum Beispiel die Bestätigung von Tagessignalen mit 4-Stunden-Signalen, um die Signalzuverlässigkeit zu erhöhen.

  4. Hinzufügen von Algorithmen für maschinelles Lernen, um anpassungsfähig den Schwellenwert für den relativen Festigkeitsindex zu bestimmen, anstatt feste Parameter zu verwenden.

  5. Einbeziehen Sie andere Indikatoren wie Stimmungsanalyse, Fundamentalanalyse, um ein umfassenderes Bewertungssystem zu bilden.

Schlussfolgerung

Die relative Stärke-Index-Strategie beurteilt die relative Bewertung von Kryptowährungen, indem sie ihre Stärke gegenüber Marktindizes vergleicht und Handelssignale generiert. Ihr Vorteil liegt in der Einbeziehung von Marktanalyse-Dimensionen und der Erfassung von Marktrhythmen.


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

//@version=5
strategy('RSI correlation with cryptoindices [strategy version]', overlay=false)

// Testing Start dates
testStartYear = input(2016, 'Backtest Start Year')
testStartMonth = input(1, 'Backtest Start Month')
testStartDay = input(1, 'Backtest Start Day')
testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, 0, 0)
//Stop date if you want to use a specific range of dates
testStopYear = input(2030, 'Backtest Stop Year')
testStopMonth = input(12, 'Backtest Stop Month')
testStopDay = input(30, 'Backtest Stop Day')
testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, 0, 0)
testPeriod() =>
    time >= testPeriodStart and time <= testPeriodStop ? true : false

len = input(4, title='length of rsi comparison')
correlationcrossover = input(1, title='correlation crossover')
IndexSwitch = input.string('CRYPTOCAP:TOTAL2', title='Index selection', options=['CRYPTOCAP:TOTAL2', 'CRYPTOCAP:TOTAL', 'CRYPTOCAP:OTHERS', 'CRYPTOCAP:USDT', 'CRYPTOINDEX:CIX100', 'CRYPTOCAP:BTC.D', 'CRYPTOCAP:BTC'])
IndexHTF = input.string('120', title='higher time frame reference index', options=['1', '2', '5', '10', '15', '30', '45', '60', '90', '120', '150', '240', '360', '720', 'D', '3D', 'W', 'M'])
switchColor = input(true, 'Color Hull according to trend?')
ref = request.security(IndexSwitch, IndexHTF, close[1], lookahead=barmerge.lookahead_on)
RSI_ref = ta.rsi(ref, len)
RSI_close = ta.rsi(close, len)
relative = RSI_ref / RSI_close
plot(relative, color=color.new(color.blue, 0))
long = ta.crossover(relative, correlationcrossover)
short = ta.crossunder(relative, correlationcrossover)
corr = plot(correlationcrossover, color=color.new(color.green, 0), linewidth=1)
hullColor = switchColor ? relative > correlationcrossover ? #00ff00 : #ff0000 : #ff9800

//PLOT
///< Frame
Fi1 = plot(relative, title='relative', color=hullColor, linewidth=1, transp=50)
fill(Fi1, corr, title='Band Filler', color=hullColor, transp=50)

if long and testPeriod()
    strategy.entry("long", strategy.long)
    
if short and testPeriod()
    strategy.entry("long", strategy.short)

// alertcondition(long, title='long', message='long')
// alertcondition(short, title='short', message='short')



Mehr