Doppel RSI-Breakthrough-Strategie

Schriftsteller:ChaoZhang, Datum: 2024-01-18 15:25:11
Tags:

img

Übersicht

Die Dual RSI Breakthrough Strategy ist eine quantitative Handelsstrategie, die Handelssignale generiert, indem sowohl schnelle als auch langsame RSI-Indikatoren verwendet werden.

Strategieprinzip

Die Strategie verwendet zwei RSI-Indikatoren gleichzeitig, einen schnellen RSI-Indikator mit einer Periode von 2 und einen langsamen RSI-Indikator mit einer Periode von 14.

Wenn der langsame RSI größer als 50 und der schnelle RSI kleiner als 50 ist, wird ein langes Signal generiert. Wenn der langsame RSI kleiner als 50 und der schnelle RSI größer als 50 ist, wird ein kurzes Signal generiert. Wenn nach dem Long- oder Short-Gehen ein Stop-Loss-Signal auftritt (eine rote K-Line-Spalte erscheint, wenn die Long-Position Geld verliert, und eine grüne K-Line-Spalte erscheint, wenn die Short-Position Geld verliert), wird die Position geschlossen.

Analyse der Vorteile

  • Form von Handelssignalen, indem Sie die überkauften und überverkauften Merkmale der RSI-Indikatoren verwenden, um zu vermeiden, Spitzen zu jagen und Tiefen zu töten.
  • Die Kombination aus schnellem und langsamem RSI kann Trendveränderungen verfolgen, um zeitnahe Ein- und Ausstiege zu realisieren.
  • Verfolgen Sie mittelfristige und langfristige Trends und lassen Sie sich nicht von kurzfristigen Marktlärm stören.
  • Gute Risikokontrolle mit Stop-Loss-Mechanismus.

Risiken und Lösungen

  • Die Lösung besteht darin, die Parameter des schnellen und langsamen RSI angemessen festzulegen, um einen echten Durchbruch zu gewährleisten.
  • Die Lösung besteht darin, die Stop-Loss-Distanz auf der Grundlage der Marktvolatilität angemessen festzulegen.
  • Die Lösung besteht nicht darin, nach Steigerungen und Rückgängen zu jagen und Ein- und Ausgänge nach den Strategie-Regeln zu machen.

Optimierungsrichtlinien

Die Strategie kann auch in folgenden Aspekten optimiert werden:

  1. Optimierung der Parameter des schnellen und des langsamen RSI, um die beste Parameterkombination zu finden;
  2. Einführung anderer Indikatoren zur Bildung zuverlässigerer Handelssignale;
  3. Einstellen dynamischer Stop-Loss und Anpassung des Stop-Loss-Punkts in Echtzeit entsprechend der Marktvolatilität.

Schlussfolgerung

Die doppelte RSI-Breakthrough-Strategie verwendet schnelle und langsame RSI-Indikatoren, um Markttrendveränderungen zu verfolgen und Handelssignale in überkauften und überverkauften Bereichen zu bilden, die effektiv vermeiden können, Spitzen zu jagen und Tiefststände zu töten. Gleichzeitig wird ein Stop-Loss-Mechanismus eingerichtet, um Risiken zu kontrollieren. Die Strategie ist einfach zu bedienen und einfach umzusetzen, geeignet für den quantitativen Handel. Der Gewinnfaktor kann durch Parameteroptimierung, Kombinationsindikatoren usw. weiter verbessert werden.


/*backtest
start: 2024-01-10 00:00:00
end: 2024-01-17 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=2
strategy(title = "Noro's Double RSI Strategy 1.0", shorttitle = "2RSI str 1.0", overlay=true )

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
leverage = input(1, defval = 1, minval = 1, maxval = 100, title = "leverage")
fast = input(2, defval = 2, minval = 2, maxval = 100, title = "Fast RSI Period")
slow = input(14, defval = 14, minval = 2, maxval = 100, title = "Slow RSI Period")
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(close), 0), fast)
fastdown = rma(-min(change(close), 0), fast)
fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))

//Slow RSI
slowup = rma(max(change(close), 0), slow)
slowdown = rma(-min(change(close), 0), slow)
slowrsi = slowdown == 0 ? 100 : slowup == 0 ? 0 : 100 - (100 / (1 + slowup / slowdown))

//Signals
up = slowrsi > 50 and fastrsi < 50
dn = slowrsi < 50 and fastrsi > 50
exit = (strategy.position_size > 0 and close > open) or (strategy.position_size < 0 and close < open)
lot = strategy.position_size == 0 ? strategy.equity / close * leverage : lot[1]

//Trading
if up
    if strategy.position_size < 0
        strategy.close_all()
        
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot )

if dn
    if strategy.position_size > 0
        strategy.close_all()
        
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot )
    
if exit
    strategy.close_all()

Mehr