Quantitative Handelsstrategie mit doppeltem RSI-Ausbruch


Erstellungsdatum: 2024-01-18 15:25:11 zuletzt geändert: 2024-01-18 15:25:11
Kopie: 0 Klicks: 740
1
konzentrieren Sie sich auf
1617
Anhänger

Quantitative Handelsstrategie mit doppeltem RSI-Ausbruch

Überblick

Die Dual RSI Breakout Strategie ist eine quantitative Handelsstrategie, bei der sowohl schnelle als auch langsame RSI-Indikatoren genutzt werden, um Handelssignale zu erzeugen. Die Strategie erzeugt Handelssignale durch einen schnellen oder langsamen Durchbruch zwischen zwei RSI-Indikatoren, um die Markttrends zu verfolgen.

Strategieprinzip

Die Strategie verwendet zwei RSI-Indikatoren gleichzeitig, einen schnellen RSI mit einer Periode von 2 und einen langsamen RSI mit einer Periode von 14. Die Handelssignale der Strategie stammen aus einem Bruch zwischen den beiden RSI-Indikatoren.

Wenn der langsame RSI größer als 50 ist, erzeugt der schnelle RSI weniger als 50 ein Plussignal; wenn der langsame RSI kleiner als 50 ist, erzeugt der schnelle RSI mehr als 50 ein Negativsignal. Nach dem Negativsignal wird ein Stop-Loss-Signal erzeugt (eine rote K-Linie bei einem Mehrfachverlust und eine grüne K-Linie bei einem leeren Verlust).

Analyse der Stärken

  • Die RSI-Indikatoren sind überkaufend und überverkaufend, um Handelssignale zu erzeugen und die Gefahr zu vermeiden, nach den Höhen und Tiefen zu jagen.
  • Mit dem schnellen und langsamen RSI kann der Trend der Märkte verfolgt werden, um zeitnahe Ein- und Ausgänge zu ermöglichen.
  • Es ist wichtig, die langfristigen Trends zu verfolgen, um nicht von kurzfristigen Marktgeräuschen gestört zu werden.
  • Die Risiken sind kontrolliert und es gibt einen Stop-Loss-Mechanismus.

Risiken und Lösungen

  • Die Lösung besteht darin, die Parameter für den schnellen und langsamen RSI vernünftigerweise festzulegen, um einen echten Durchbruch sicherzustellen.
  • Die Lösung besteht darin, die Stop-Loss-Distanz entsprechend der Marktfluktuation vernünftigerweise festzulegen.
  • Die Lösung besteht darin, nicht nach dem Abstieg zu suchen, sondern Ein- und Ausgänge nach den Regeln der Strategie durchzuführen.

Optimierungsrichtung

Die Strategie kann auch in folgenden Bereichen optimiert werden:

  1. Die RSI-Parameter können schnell und langsam optimiert werden, um die optimale Kombination von Parametern zu finden.
  2. Es ist möglich, andere Indikatoren einzuführen, um sie zu kombinieren und zu einem zuverlässigeren Handelssignal zu führen.
  3. Es ist möglich, einen dynamischen Stop-Loss einzurichten und den Stop-Loss-Punkt in Echtzeit an die Marktbewegungen anzupassen.

Zusammenfassen

Die Doppel-RSI-Breakout-Strategie nutzt den schnellen und langsamen RSI-Indikator, um Markttrends zu verfolgen, Handelssignale zu bilden, die in Überkauf-Überverkauf-Bereichen gebildet werden, um die Gefahr zu vermeiden. Die Strategie ist einfach zu bedienen, leicht zu implementieren und eignet sich für den Quantifizierungshandel.

Strategiequellcode
/*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()