Dies ist eine Strategie, die Schlüsselniveaus in verschiedenen Zeitrahmen nutzt, um doppelte Breakout-Handelssignale zu generieren.
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.
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.
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.
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.
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.
Einfache Parameter Einstellungen
Die Strategie benötigt nur zwei Zeitrahmenparameter, um zu funktionieren, bietet flexible Anpassungen für verschiedene Produkte.
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.
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.
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.
Ausbruchsfehler
Selbst bei einem doppelten Ausbruch besteht immer noch die Chance auf Ausbruchversagen und schnellen Rückzug, was zu Verlusten führt.
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.
Schwierige Optimierung von Parametern
Obwohl einfach, erfordert das Finden des optimalen Parametersatzes immer noch umfangreiche Tests mit hoher Optimierungsschwierigkeit.
Hinzufügen von Stop-Loss-Strategie
Sie können den Zeitstopp einstellen, um Verluste zu stoppen, bevor der Verlust zu groß wird.
Filter optimieren
Kann verschiedene umgekehrte Kopfhautamplitudeparameter oder andere Filtermethoden testen.
Dynamische Schlüsselstufen
Schlüsselniveaus sollen sich dynamisch mit den Marktveränderungen anstelle von statischen Niveaus ändern.
Optimierung von mehreren Produktparametern
Verwenden Sie maschinelles Lernen, um die besten Parameter für verschiedene Produkte zu optimieren.
Volumenbestätigung hinzufügen
Einfügen einer Lautstärkungsbestätigung, um falsche Breakout-Signale ohne Lautstärke zu vermeiden.
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()