Qiming Double Shift Mean Reversion Handelsstrategie


Erstellungsdatum: 2023-12-15 16:51:23 zuletzt geändert: 2023-12-15 16:51:23
Kopie: 0 Klicks: 671
1
konzentrieren Sie sich auf
1621
Anhänger

Qiming Double Shift Mean Reversion Handelsstrategie

Überblick

Die HYE Mean Reversion SMA Strategy ist eine Mean Reversion Trading-Strategie, die einfache Moving Averages und relativ starke Indikatoren nutzt. Die Strategie verwendet, wenn der Preis von den Moving Averages abweicht, in Kombination mit dem RSI-Indikator Filtersignal, um ein Kauf- und Verkaufsignal zu erzeugen, und gehört zu den Short-Trading-Strategie.

Strategieprinzip

Die Strategie basiert hauptsächlich auf folgenden Regeln:

  1. Wenn der 2-Perioden-Simple Moving Average gegenüber dem 5-Perioden-Simple Moving Average um 3% zurückgeht, wird dies als Abweichung des Aktienpreises vom Mittelwert angesehen und erzeugt ein Kaufsignal;

  2. Wenn der 2-Perioden-Simple-Moving-Mean durch den 5-Perioden-Simple-Moving-Mean geht, wird als Preis-Return-Mean betrachtet und ein Verkaufssignal erzeugt.

  3. Die Kombination des 5-Perioden-RSI-Indikators mit dem Index-Moving-Average erzeugt nur ein Kaufsignal, wenn der RSI unter 30 liegt, und ein Verkaufsignal, wenn der RSI über 70 liegt, um unnötige Geschäfte zu vermeiden.

Die Strategie basiert hauptsächlich darauf, kurzfristige Preisschwankungen zu nutzen, um Gelegenheiten für eine Rückkehr des Durchschnittswertes zu erfassen. Kaufen Sie, wenn der Preis um einen gewissen Grad fällt, und verkaufen Sie, wenn der Preis wieder in der Nähe der Durchschnittslinie zurückkehrt, um einen Gewinn zu erzielen. Der RSI-Indikator kann zur Identifizierung von Überkaufen und Überverkaufen verwendet werden, um einige der Geräuschhandelssignale zu filtern.

Strategische Stärkenanalyse

Die Strategie hat folgende Vorteile:

  1. Einfache Bedienung, einfache Implementierung und niedrige Überwachungskosten;

  2. Die historische Rückverfolgung hat gute Ergebnisse, indem die Eigenschaften von Preisabweichungen von den gleitenden Durchschnittswerten genutzt werden, um die Gelegenheit zu ergreifen, die kurze Linie wieder zurückzukehren.

  3. Der RSI filtert die Noise-Trading-Situation und verhindert, dass der Kurs nach oben oder unten schlägt.

  4. Die Parameter können flexibel angepasst werden, um sich an unterschiedliche Marktumstände anzupassen.

  5. Die Option bietet die Möglichkeit, mehr zu tätigen, nur kurzfristig zu handeln oder in beide Richtungen zu handeln, um unterschiedliche Vorlieben zu erfüllen.

Risikoanalyse

Die Strategie birgt auch einige Risiken:

  1. Der Rückgang ist abhängig von der Fähigkeit des Preises, sich zurück zu bewegen, und es besteht ein hohes Stop-Loss-Risiko, wenn der Preis stark schwankt.

  2. Die falsche Einstellung der Parameter kann zu zu häufigen Geschäften oder verpassten Chancen führen.

  3. Strategie-Performance ist stärker mit den Märkten verbunden und schlechter in schwankenden und schwankenden Märkten.

Gegenmaßnahmen:

  1. Ein angemessenes Stop-Loss-System zur Kontrolle von Einzelschäden;

  2. Die Parameter werden schrittweise optimiert, um die Gewinn-Rücknahme-Rate zu bewerten.

  3. Anpassungsfähigkeit in Kombination mit Aktienindex-Verstärkungsstrategien

Optimierungsrichtung

Die Strategie kann in folgenden Bereichen optimiert werden:

  1. Verschiedene Kombinationen von Moving Averages werden getestet, um optimale Parameter zu finden.

  2. Es wird versucht, Trends in Verbindung mit anderen Indikatoren zu identifizieren und die Strategie zu verbessern.

  3. Erhöhung der Stop-Loss-Mechanismen und Verringerung des maximalen Rückzugs der Strategie;

  4. Das ist eine gute Idee, aber es ist auch eine gute Idee, um die Regeln für den Kauf und Verkauf zu optimieren.

  5. Das System wird in der Lage sein, sich anpassungsfähige Parameter zu erstellen, in Kombination mit maschinellen Lerntechnologien.

Zusammenfassen

Die Strategie ist einfach zu bedienen, leicht zu implementieren, kann die Parameter an die Marktumgebung anpassen und ist für Investoren geeignet, die die Rückkehr der Mittelwerte der Kurzlinie verfolgen. Es sollte jedoch auch auf Rückkehrunsicherheiten und Stop-Loss-Risiken geachtet werden, die vernünftigerweise optimiert werden müssen, um sich an unterschiedliche Marktbedingungen anzupassen.

Strategiequellcode
/*backtest
start: 2022-12-08 00:00:00
end: 2023-12-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// @version=4

strategy("HYE Mean Reversion SMA [Strategy]", overlay = true )
  
//Strategy inputs
source = input(title = "Source", defval = close)
tradeDirection = input(title="Trade Direction", type=input.string,
     options=["Long Only", "Short Only", "Both"], defval="Long Only") 
smallMAPeriod = input(title = "Small Moving Average", defval = 2)
bigMAPeriod = input(title = "Big Moving Average", defval = 5)
percentBelowToBuy = input(title = "Percent below to buy %", defval = 3)
percentAboveToSell = input(title = "Percent above to sell %", defval = 3)
rsiPeriod = input(title = "Rsi Period", defval = 2)
rsiLevelforBuy = input(title = "Maximum Rsi Level for Buy", defval = 30)
rsiLevelforSell = input(title = "Minimum Rsi Level for Sell", defval = 70)
     
longOK  = (tradeDirection == "Long Only") or (tradeDirection == "Both")
shortOK = (tradeDirection == "Short Only") or (tradeDirection == "Both")

// Make input options that configure backtest date range
startDate = input(title="Start Date", type=input.integer,
     defval=1, minval=1, maxval=31)
startMonth = input(title="Start Month", type=input.integer,
     defval=1, minval=1, maxval=12)
startYear = input(title="Start Year", type=input.integer,
     defval=2020, minval=1800, maxval=2100)

endDate = input(title="End Date", type=input.integer,
     defval=31, minval=1, maxval=31)
endMonth = input(title="End Month", type=input.integer,
     defval=12, minval=1, maxval=12)
endYear = input(title="End Year", type=input.integer,
     defval=2021, minval=1800, maxval=2100)
     
inDateRange = true

//Strategy calculation 
rsiValue = rsi(source, rsiPeriod)
rsiEMA   = ema(rsiValue, 5)
smallMA = sma(source, smallMAPeriod)
bigMA =  sma(source, bigMAPeriod) 
buyMA = ((100 - percentBelowToBuy) / 100) * sma(source, bigMAPeriod)[0]
sellMA = ((100 + percentAboveToSell) / 100) * sma(source, bigMAPeriod)[0]

if(crossunder(smallMA, buyMA) and rsiEMA < rsiLevelforBuy and inDateRange and longOK)
    strategy.entry("BUY", strategy.long) 

if(crossover(smallMA, bigMA) or not inDateRange)
    strategy.close("BUY")

if(crossover(smallMA, sellMA) and rsiEMA > rsiLevelforSell and inDateRange and shortOK)
    strategy.entry("SELL", strategy.short)

if(crossunder(smallMA, bigMA) or not inDateRange)
    strategy.close("SELL")