Die Ressourcen sind geladen. Beförderung...

Früherer Gewinnspiel mit gleitendem Durchschnitt Eröffnungsgespräch Exitstrategie

Schriftsteller:ChaoZhang, Datum: 2023-12-01 14:32:48
Tags:

img

Übersicht

Diese Strategie setzt Long und Short auf der Grundlage von gleitenden Durchschnitts-Crossovers um und tritt nur am Nachmittag auf der Grundlage früher Gewinnstatistiken aus, um nicht von hoher Eröffnungsvolatilität gefangen zu werden.

Strategie Logik

Die Strategie verwendet 3 gleitende Durchschnitte mit unterschiedlichen Parametern: 14-Tage-, 28-Tage- und 56-Tage-Linien. Es geht lang, wenn die 14-Tage-Linie über die 56-Tage-Linie überschreitet, und geht kurz, wenn sie unterhalb der 56-Tage-Linie überschreitet. Dieser grundlegende Ansatz verfolgt langfristige Trends. Um etwas Lärm zu filtern, wird die 28-Tage-Linie als Referenz hinzugefügt, so dass Signale nur ausgelöst werden, wenn die 14-Tage-Linie auch über oder unter der 28-Tage-Linie liegt.

Die wichtigste Neuerung ist, dass es nur zwischen 16 Uhr und 17 Uhr Verluste stoppt und Gewinne erzielt. Statistiken zeigen, dass 70% der Chancen auf tägliche Hoch-/Tieflage in der ersten Stunde nach der Eröffnung liegen. Um Auswirkungen durch hohe Eröffnungsvolatilität zu vermeiden, sind Exits nur während der regulären Nachmittagsgeschäftszeiten möglich.

Analyse der Vorteile

Zu den Vorteilen dieser Strategie gehören:

  1. Verfolgen Sie mittelfristige und langfristige Trends, vermeiden Sie übermäßiges Lärm
  2. Verwenden Sie Statistiken der Eröffnungsvolatilität für die Stop-Loss-Logik, um falsche Ausbrüche zu vermeiden
  3. Einfache und intuitive Logik, leicht zu verstehen und zu ändern

Risiken und Lösungen

Es gibt auch einige Risiken:

  1. Verpasste Gelegenheiten, wenn eine Umkehr früh am Tag stattfindet, können die Kompatibilität mit bestimmten Aktien testen.
  2. Es besteht immer noch die Gefahr, nach Feierabend eingeschlossen zu sein.
  3. Eine schlechte Einstellung der Backtest-Periode führt zu einer Überanpassung.

Möglichkeiten zur Verbesserung

Einige Möglichkeiten zur weiteren Optimierung der Strategie:

  1. Verschiedene Kombinationen von gleitenden Durchschnitten testen, um optimale Parameter zu finden
  2. Der Wert der Vermögenswerte, die für die Berechnung der Vermögenswerte verwendet werden.
  3. Volumenfilter hinzufügen, um Fallen zu vermeiden
  4. Hinzufügen dynamischer Stopps zu Rückzügen nach Ausbrüchen

Schlussfolgerung

Die Strategie hat eine klare und einfache Logik, nutzt effektiv die Eröffnungsfunktionen für Stop-Loss, um Volatilitätsfallen zu vermeiden.


/*backtest
start: 2023-11-23 00:00:00
end: 2023-11-30 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("MAC 1st Trading Hour Walkover", overlay=true)

// Setting up timeperiod for testing
startPeriodYear = input(2014, "Backtest Start Year")
startPeriodMonth = input(1, "Backtest Start Month")
startPeriodDay = input(2, "Backtest Start Day")
testPeriodStart = timestamp(startPeriodYear, startPeriodMonth, startPeriodDay, 0, 0)

stopPeriodYear = input(2025, "Backtest Stop Year")
stopPeriodMonth = input(12, "Backtest Stop Month")
stopPeriodDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(stopPeriodYear, stopPeriodMonth, stopPeriodDay, 0, 0)

// Moving Averages
ema14 = ema(close, 14)
ema28 = ema(close, 28)
sma56 = sma(close, 56)

// Plot
plot(ema14, title="ema14", linewidth=2, color=green)
plot(ema28, title="ema28", linewidth=2, color=red)
plot(sma56, title="sma56", linewidth=3, color=blue)

// Strategy
goLong = cross(ema14, sma56) and ema14 > ema28
goShort = cross(ema14, sma56) and ema14 < ema28

// Strategy.When to enter
if time >= testPeriodStart
    if time <= testPeriodStop
        strategy.entry("Go Long", strategy.long, 1.0, when=goLong)
        strategy.entry("Go Short", strategy.short, 1.0, when=goShort)

// Strategy.When to take profit 
if time >= testPeriodStart 
    if time <= testPeriodStop 
        strategy.exit("Close Long", "Go Long", profit=2000) 
        strategy.exit("Close Short", "Go Short", profit=2000) 

// Strategy.When to stop out 
// Some studies show that 70% of the days high low happen in the first hour 
// of trading. To avoid having that volatility fire our loss stop we 
// ignore price action in the morning, but allow stops to fire in the afternoon. 
if time("60", "1000-1600") 
    strategy.exit("Close Long", "Go Long", loss=500) 
    strategy.exit("Close Short", "Go Short", loss=500)

Mehr