Kurzfristige quantitative Handelsstrategie mit niedrigem Kaufpreis und hohem Verkaufpreis basierend auf dem gleitenden RSI-Durchschnitt


Erstellungsdatum: 2023-12-01 16:59:26 zuletzt geändert: 2023-12-01 16:59:26
Kopie: 0 Klicks: 396
1
konzentrieren Sie sich auf
1166
Anhänger

Kurzfristige quantitative Handelsstrategie mit niedrigem Kaufpreis und hohem Verkaufpreis basierend auf dem gleitenden RSI-Durchschnitt

Überblick

Die Strategie, die den Kauf- und Verkaufspunkt durch die Kreuzung des RSI-Indikators mit seiner Durchschnittslinie bestimmt, gehört zu den Short-Trading-Strategien. Die Strategie kauft, wenn der RSI-Indikator unter seiner Durchschnittslinie liegt, und verkauft, wenn er über seiner Durchschnittslinie liegt, und gehört zu den typischen Low-Buy-High-Selling-Strategien.

Strategieprinzip

  1. Berechnen Sie den RSI mit einer Länge von 40 K-Linien
  2. Berechnen Sie die MA-Mittellinie für den RSI mit einer Länge von 10 K-Linien
  3. Es wird ein Kaufsignal erzeugt, wenn der RSI-Indikator unter seiner Durchschnittslinie mit dem Faktor ((1-Buy-Buy-Band/100) ist
  4. Ein Verkaufssignal wird erzeugt, wenn der RSI-Indikator höher als seine Durchschnittslinie ist, multipliziert mit dem Faktor ((1 + Kauf- und Verkaufsspanne / 100)
  5. Die Default-Distanz zwischen den Kauf- und Verkaufszonen beträgt 5, was bedeutet, dass ein Signal erzeugt wird, wenn der Abstand von der Durchschnittslinie positiv-negativ 5% ist.
  6. Der RSI-Indikator wird als “flach” beurteilt, wenn er über seinem Durchschnitt liegt und über 50 liegt.

Analyse der Stärken

Dies ist eine typische Trendwende-Strategie, die die Überkauf-Überverkauf-Eigenschaften des RSI nutzt, um zu bestimmen, wann man kaufen oder verkaufen soll. Die Strategie hat folgende Vorteile:

  1. Die Verwendung des RSI-Indikators zur Beurteilung der Marktstruktur ist selbst zuverlässig
  2. Einheitliche Filter verhindern unnötige Transaktionen und erhöhen die Stabilität
  3. Die Frequenz des Handels wird durch die Parameter für die Entfernung zwischen den Kauf- und Verkaufszonen angepasst.
  4. Der Code ist einfach zu verstehen, die Logik ist klar.

Insgesamt ist es eine einfache und praktische Strategie, kurzfristig zu handeln.

Risikoanalyse

Die Strategie birgt auch einige Risiken, die beachtet werden müssen:

  1. RSI-Indikatoren geben möglicherweise falsche Signale ab und müssen auf die Form der Indikatorkurve achten
  2. Unzureichende Abstände zwischen Kauf- und Verkaufszonen können zu viel Handel oder verpasste Chancen führen.
  3. Hohe Transaktionsfrequenz und die Auswirkungen auf die Transaktionskosten
  4. Marktunregelmäßigkeiten, die nur auf einem einzigen Indikator basieren

Diese Risiken können durch Optimierung der Parameter, Erhöhung der Filterbedingungen usw. gemindert werden.

Optimierungsrichtung

Die Strategie kann in folgenden Dimensionen optimiert werden:

  1. Hinzufügen weiterer Filterindikatoren, z. B. Handelsvolumenindikatoren, um sicherzustellen, dass nur bei Trendwendepunkten Signale erzeugt werden
  2. Ein Stop-Loss-Strategie, um einzelne Verluste zu kontrollieren
  3. Optimierung von Kauf- und Verkaufsabständen, Ausgleich von Handelsfrequenzen und Gewinnraten
  4. Automatische Suche nach optimalen Parameterkombinationen mithilfe von Machine Learning-Algorithmen
  5. Zusätzliche Aggregation Modelle, um die Ergebnisse mehrerer Unterstrategien zu integrieren

Durch die Kombination von mehreren Indikatoren, Stop-Loss-Management und Parameteroptimierung kann die Strategie-Performance erheblich verbessert werden.

Zusammenfassen

Diese Strategie ist insgesamt eine sehr typische und praktische Short-Line-Handelsstrategie. Sie nutzt den Überkauf-Überverkauf-Zustand des RSI-Indikators, um den Zeitpunkt des Kaufs und Verkaufs zu bestimmen, unterstützt durch eine Gleichgewichtsfilterung. Die Strategie-Logik ist einfach und klar, die Parameter werden flexibel angepasst und leicht umgesetzt.

Strategiequellcode
/*backtest
start: 2022-11-24 00:00:00
end: 2023-11-30 00:00:00
period: 1d
basePeriod: 1h
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/
// © I11L

//@version=5
strategy("I11L - Meanreverter 4h", overlay=false, pyramiding=3, default_qty_value=10000, initial_capital=10000, default_qty_type=strategy.cash,process_orders_on_close=false, calc_on_every_tick=false)
 
frequency = input.int(10)
rsiFrequency = input.int(40)
buyZoneDistance = input.int(5)
avgDownATRSum = input.int(3)
useAbsoluteRSIBarrier = input.bool(true)
barrierLevel = 50//input.int(50)

momentumRSI = ta.rsi(close,rsiFrequency)
momentumRSI_slow = ta.sma(momentumRSI,frequency)
 
isBuy = momentumRSI < momentumRSI_slow*(1-buyZoneDistance/100) and (strategy.position_avg_price - math.sum(ta.atr(20),avgDownATRSum)*strategy.opentrades > close or strategy.opentrades == 0 ) //and (momentumRSI < barrierLevel or not(useAbsoluteRSIBarrier))
isShort = momentumRSI > momentumRSI_slow*(1+buyZoneDistance/100) and (strategy.position_avg_price - math.sum(ta.atr(20),avgDownATRSum)*strategy.opentrades > close or strategy.opentrades == 0 ) and (momentumRSI > barrierLevel or not(useAbsoluteRSIBarrier))
momentumRSISoftClose = (momentumRSI > momentumRSI_slow) and (momentumRSI > barrierLevel or not(useAbsoluteRSIBarrier))

isClose = momentumRSISoftClose

plot(momentumRSI,color=isClose ? color.red :  momentumRSI < momentumRSI_slow*(1-buyZoneDistance/100) ? color.green : color.white)
plot(momentumRSI_slow,color=color.gray)
plot(barrierLevel,color=useAbsoluteRSIBarrier ? color.white : color.rgb(0,0,0,0))
plot(momentumRSI_slow*(1-buyZoneDistance/100),color=color.gray)
plot(momentumRSI_slow*(1+buyZoneDistance/100),color=color.gray)
plot(momentumRSI_slow*(1+(buyZoneDistance*2)/100),color=color.gray)

// plot(strategy.wintrades - strategy.losstrades)

 
 
if(isBuy)
    strategy.entry("Buy",strategy.long, comment="#"+str.tostring(strategy.opentrades+1))

// if(isShort)
//     strategy.entry("Sell",strategy.short, comment="#"+str.tostring(strategy.opentrades+1))

if(isClose)
    strategy.exit("Close",limit=close)