Dynamische RSI-Schock-Operationsstrategie


Erstellungsdatum: 2023-11-02 16:04:07 zuletzt geändert: 2023-11-02 16:04:07
Kopie: 1 Klicks: 666
1
konzentrieren Sie sich auf
1617
Anhänger

Dynamische RSI-Schock-Operationsstrategie

Überblick

Diese Strategie kombiniert dynamische Unterstützungs-/Widerstandswerte mit einem relativ starken RSI, um die RSI über die Überkauf-/Überverkauf-Range zu setzen und zu beurteilen, ob der RSI über die Überkauf-/Überverkauf-Region geht, wenn die dynamische Unterstützungs-/Widerstandslage durchbrochen wird, wodurch ein Kauf- und Verkaufssignal erzeugt wird.

Grundsätze

1. Dynamische Unterstützungs-/Widerstandsposition

Mit der security-Funktion wird der Schlusskurs als dynamische Unterstützung/Widerstandsstufe erfasst, die ein Handelssignal erzeugt, wenn der Preis diese dynamische Stufe überschreitet.

2. Der RSI

Berechnen Sie die durchschnittlichen Erhöhungen und die durchschnittlichen Rückgänge innerhalb eines bestimmten Zeitraums und erzeugen Sie einen RSI-Wert, um zu beurteilen, ob Sie in eine Überkauf-Überverkaufszone geraten sind.

3. Handelssignale

Wenn der Preis die dynamische Stelle durchbricht, erzeugt der RSI ein Kauf-/Verkaufsignal, wenn er nicht in die Überkauf-/Überverkaufszone eingeht. Wenn er eingegeben ist, wird das Signal des Durchbruchs ignoriert.

4. Ausstiegssignal

Der Preis ist platziert, wenn er zurück in die dynamische Zone fällt, oder der RSI ist platziert, wenn er in die normale Zone zurückkehrt.

Analyse der Stärken

  1. Nutzen Sie dynamische Unterstützungs-/Widerstandspunkte, um die Richtung des Trends zu bestimmen und die Gewinnwahrscheinlichkeit zu erhöhen.

  2. Der RSI-Indikator filtert falsche Durchbrüche und verhindert Einbrüche.

  3. Die Daten werden in Kombination mit Trends und Indikatoren für verschiedene Situationen verwendet.

  4. Die Regeln sind klar und einfach umzusetzen.

Risiken und Lösungen

  1. Bei dynamischen Stellen können mehrere Testdurchbrüche zu Fehlsignalen führen, wobei die Durchbruchbreitenfilterung entsprechend gelockert werden kann.

  2. Ein einzelner RSI-Indikator kann zu Fehleinschätzungen führen, andere Indikatoren können für die Kombinationsfilterung eingeführt werden.

  3. In einem wackligen Umfeld kann es zu häufigen Leerpositionen kommen, die hohe Handelskosten verursachen, und die RSI-Normalwert-Reihe kann angemessen gelockert werden, um die Handelsfrequenz zu reduzieren.

  4. Die Parameter können durch falsche Einstellungen zu fehlenden oder unregelmäßigen Listen führen. Die Parameter sollten entsprechend der verschiedenen Sorten angemessen ausgewählt werden.

Optimierungsrichtung

  1. Automatische Optimierung der RSI-Parameter mit Hilfe von Machine Learning.

  2. Erhöhung der Stop-Loss-Strategie zur Gewinnbindung und Verringerung der Verluste.

  3. Die Kombinationsfilterung mit weiteren Kennzahlen erhöht die Strategie-Stabilität.

  4. Erhöhung der Volatilitätsindikatoren und Senkung der Positionen bei geringer Volatilität.

  5. Optimierung der Positionsalgorithmen, um die Positionsdynamik an unterschiedliche Marktbedingungen anzupassen.

Zusammenfassen

Diese Strategie kombiniert Trendbeurteilung und Indikator-Filterung, um effektiv zu identifizieren, dass die Preise in der Nähe der kritischen Ebene zu brechen, mit der Prämisse, dass die Risiken zu kontrollieren, um höhere Gewinne zu erzielen. Durch weitere Optimierung der Parameter-Einstellungen, Erhöhung der Stop-Loss-Stopps, die Einführung von mehr Indikatoren usw., kann die Stabilität und Anpassungsfähigkeit der Strategie weiter verbessert werden, so dass es in der Lage, eine stabile Erträge in einem breiteren Markt.

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

//Noro
//2018

//@version=2
strategy(title = "Noro's Levels+RSI Strategy v1.0", shorttitle = "Levels+RSI str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 3)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
tf = input('W', title = "timeframe 1")
src = input(ohlc4, "Source")
ap = input(true, defval = true, title = "antipila")
cf = input(true, defval = true, title = "color filter")
rsiperiod = input(7, defval = 7, minval = 2, maxval = 100, title = "RSI Period")
rsilimit = input(30, defval = 30, minval = 1, maxval = 50, title = "RSI Limit")
fromyear = input(1900, defval = 1900, 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")

//Level
level = request.security(syminfo.tickerid, tf, src[1])
plot(level, linewidth = 3, color = silver)

//RSI
uprsi = rma(max(change(close), 0), rsiperiod)
dnrsi = rma(-min(change(close), 0), rsiperiod)
rsi = dnrsi == 0 ? 100 : uprsi == 0 ? 0 : 100 - (100 / (1 + uprsi / dnrsi))

//Level Signals
ls = close > level and ap == false ? true : low > level ? true : false
up1 = strategy.position_size == 0 and ls and (close < open or cf == false)
exit1 = close < level and ap == false ? true : high < level ? true : false 

//RSI Signal

up2 = rsi < rsilimit and (close < open or cf == false)
exit2 = rsi > rsilimit and ls == false

//Trading
lot = strategy.position_size != strategy.position_size[1] ? strategy.equity / close * capital / 100 : lot[1]

if up1 or up2 
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot)
    
if  (exit1 and rsi > rsilimit) or exit2
    strategy.close_all()