Strategie für die doppelten Ausbruchniveaus im Zeitrahmen

Schriftsteller:ChaoZhang, Datum: 2023-11-15 17:27:36
Tags:

img

Übersicht

Dies ist eine Strategie, die Schlüsselniveaus in verschiedenen Zeitrahmen nutzt, um doppelte Breakout-Handelssignale zu generieren.

Strategie Logik

Die Strategie analysiert die Kursbewegung gleichzeitig in zwei verschiedenen Zeitrahmen (tf und tf2), wobei tf der längere Zeitrahmen ist, der den mittelfristigen bis langfristigen Trend widerspiegelt, und tf2 der kürzere Zeitrahmen ist, der kurzfristige Bewegungen widerspiegelt.

  1. Wenn der Preis über das Niveau (Niveau) auf tf Zeitrahmen bricht, Aufzeichnung up1=true
  2. Wenn der Preis unter das Niveau im tf-Zeitrahmen fällt, wird dn1=true aufgezeichnet.
  3. Wenn der Preis im tf2-Zeitrahmen über das Niveau (Level2) bricht, wird up2=true aufgezeichnet.
  4. Wenn der Preis unter das Niveau auf tf2 Zeitrahmen bricht, registrieren dn2 = wahr

Das Handelssignal wird gebildet, wenn up1 und up2 zusammen wahr sind, was bedeutet, dass langfristig und kurzfristig beide bullisch sind, lang gehen; wenn dn1 und dn2 beide wahr sind, was bedeutet, dass langfristig und kurzfristig beide bärisch sind, gehen sie kurz.

Die Strategie beinhaltet auch einige Filter wie inverse Scalping und farbige Kerzen, um falsche Signale von Nicht-Trend-Breakouts zu vermeiden.

Insgesamt nutzt die Strategie die Vorteile der Analyse mehrerer Zeitrahmen voll aus, um sicherzustellen, dass die mittelfristigen bis langfristigen Trends den Erwartungen entsprechen und gleichzeitig die Störungen durch kurzfristige Marktlärm vermeiden, wodurch hochwertige Handelssignale generiert werden.

Analyse der Vorteile

  1. Durchbrechen von Schlüsselniveaus

    Durch die Überwachung der Ausbrüche der wichtigsten Ebenen über zwei Zeitrahmen hinweg können klare Eintrittssignale in den Trendbeginnsstadien erfasst werden.

  2. Doppelbestätigung reduziert Falschsignale deutlich

    Durch gleichzeitige Ausbrüche in zwei verschiedenen Zeitrahmen werden die falschen Signale durch zufällige Schwankungen erheblich reduziert und die Signalqualität verbessert.

  3. Filter wie umgekehrte Kopfhaut und farbige Kerzen

    Durch das Hinzufügen von umgekehrtem Scalping und Farbkerzfiltern können einige geringwertige Breakout-Signale entfernt und riesige Verluste verhindert werden.

  4. Einfache Parameter Einstellungen

    Die Strategie benötigt nur zwei Zeitrahmenparameter, um zu funktionieren, bietet flexible Anpassungen für verschiedene Produkte.

  5. Einfach zu verstehen und zu optimieren

    Die klare Struktur erleichtert das Verständnis der Logik, und die Parameter können anhand der Marktbedingungen für die Optimierung angepasst werden.

Risikoanalyse

  1. Verzögerter Eintritt wegen doppelter Ausbrechung

    Im Vergleich zu einem einzigen Ausbruch kann ein doppelter Ausbruch eine gewisse Verzögerung des Eintritts verursachen und frühe starke Trendgewinne verpassen.

  2. Auswahl der Schlüsselstufe

    Es ist sehr wichtig, für verschiedene Produkte und Marktzyklen geeignete Schlüsselwerte auszuwählen, da dies sonst zu falschen Signalen führen kann.

  3. Ausbruchsfehler

    Selbst bei einem doppelten Ausbruch besteht immer noch die Chance auf Ausbruchversagen und schnellen Rückzug, was zu Verlusten führt.

  4. Verlust durch Trendumkehrung

    Spättrend-Eintritte können plötzliche Umkehrungen erleben, wenn sie nicht rechtzeitig durch einen Stop-Loss aussteigen können und große Verluste verursachen.

  5. Schwierige Optimierung von Parametern

    Obwohl einfach, erfordert das Finden des optimalen Parametersatzes immer noch umfangreiche Tests mit hoher Optimierungsschwierigkeit.

Optimierungsrichtlinien

  1. Hinzufügen von Stop-Loss-Strategie

    Sie können den Zeitstopp einstellen, um Verluste zu stoppen, bevor der Verlust zu groß wird.

  2. Filter optimieren

    Kann verschiedene umgekehrte Kopfhautamplitudeparameter oder andere Filtermethoden testen.

  3. Dynamische Schlüsselstufen

    Schlüsselniveaus sollen sich dynamisch mit den Marktveränderungen anstelle von statischen Niveaus ändern.

  4. Optimierung von mehreren Produktparametern

    Verwenden Sie maschinelles Lernen, um die besten Parameter für verschiedene Produkte zu optimieren.

  5. Volumenbestätigung hinzufügen

    Einfügen einer Lautstärkungsbestätigung, um falsche Breakout-Signale ohne Lautstärke zu vermeiden.

Zusammenfassung

Insgesamt handelt es sich um eine einfache und praktische Trendfolgestrategie. Durch die Analyse von zwei Zeitrahmen wird auf mittelfristige bis langfristige Richtungskonformität eingegriffen, um Lärm effektiv zu filtern. Die Signale sind klar und leicht zu interpretieren, mit intuitiven Parameter-Einstellungen. Aber es gibt auch Probleme wie fehlzeitiger Eintrag, Schwierigkeiten bei der Auswahl von Schlüsselniveaus. Zusammenfassend funktioniert diese Strategie besser als Trendvalidierungswerkzeug, um mit anderen Faktoren zu kombinieren, hat aber immer noch viel Optimierungsraum als eigenständiges Handelssystem.


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

//Noro
//2018

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

//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")
tf2 = input('D',  title = "timeframe 2")
src = input(ohlc4, "Source")
ap = input(true, defval = true, title = "antipila")
cf = input(true, defval = true, title = "color filter")
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")

//Signals
level = request.security(syminfo.tickerid, tf, src[1])
level2 = request.security(syminfo.tickerid, tf2, src[1])
plot(level, linewidth = 3, color = silver)
plot(level2, linewidth = 3, color = gray)
up1 = close > level and ap == false ? true : low > level ? true : false
dn1 = close < level and ap == false ? true : high < level ? true : false
up2 = close > level2 and ap == false ? true : low > level2 ? true : false
dn2 = close < level2 and ap == false ? true : high < level2 ? true : false

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

if up1 and up2 and (close < open or cf == false)
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
    
if dn1 and dn2 and (close > open or cf == false)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))

if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()

Mehr