
Eine Hoch-Low-Breakout-Strategie ist eine langfristige Schwankungsstrategie, die auf der Identifizierung von Hoch-Low-Punkten basiert. Die Strategie handelt in Richtung der Strategieparameter, indem sie den Höchstpreis der letzten bestimmten Fensterperiode überschreitet und den niedrigsten Preis der letzten bestimmten Fensterperiode überschreitet.
Die Strategie sieht die Höchst- und Mindestpreise der neuesten N-K-Linie, also die Hoch- und Tiefpunkte der Schwankungen, anhand der Richtungsparameter und beurteilt die Richtung der Strategie durch die Einstellung der Eingabeparameter. Bei Überschreitungen wird nach dem Stop-Win-Methode gehandelt, wenn der Preis den höchsten Punkt innerhalb der neuesten N-K-Linie überschreitet. Wenn der Preis den niedrigsten Punkt innerhalb der neuesten N-K-Linie überschreitet, wird nach dem Stop-Loss-Methode gehandelt.
Darüber hinaus setzt die Strategie auch eine Stop-Loss-Position ein. Nach der Übernahme der Position wird die Stop-Line in der Nähe des niedrigsten Preises eingestellt. Nach der Deckung wird die Stop-Line in der Nähe des höchsten Preises eingestellt.
Der größte Vorteil dieser Strategie besteht darin, dass die Schlüsselfluktuationen in der Nähe der Höhen und Tiefen erfasst werden können, wodurch die Gewinne erzielt werden können. Zusätzlich ist die Einrichtung einer Stop-Loss-Linie eine effektive Risikokontrolle.
Es gibt folgende Vorteile:
Die Spieler haben eine klare Strategie und entscheiden über Ein- und Ausgänge, indem sie die Höhen und Tiefen durchbrechen.
Das ist eine klassische Methode der technischen Analyse, die Swing-Höhen und -Tiefpunkte nutzt, um nach Wendechancen zu suchen.
Es gibt eine Stop-Loss-Einstellung, um Risiken zu kontrollieren und große Verluste zu vermeiden, die durch einseitige Handlungen entstehen.
Der Code ist klar strukturiert, leicht zu verstehen und zu ändern.
Sie können verschiedene Parameter eingeben, um die Strategie zu optimieren, z. B. die Anzahl der Perioden der höchsten und niedrigsten Punkte.
Die Hauptrisiken dieser Strategie bestehen in fehlerhaften Transaktionen, bei denen die Höhen und Tiefen nicht erlaubt sind.
Höchste und niedrigste Punkt, an dem ein Fehlbruch zu einer Fehlintrittsgefahr führen kann.
Der Durchbruch kann in der Nähe des Durchbruchspunktes ausgelöst werden.
Trendsorten sind sehr teuer, um ihre Höhe und ihre Tiefe zu bestimmen.
Die falsche Einstellung der Parameter beeinflusst auch die Strategie.
Die Lösungsansätze umfassen:
Optimierung der Parameter und der Anzahl der Zyklen, in denen die höchsten und niedrigsten Punkte beurteilt werden.
Erhöhung der Stop-Loss-Grenze.
Unterscheiden Sie die Eigenschaften der Sorten und vermeiden Sie die Verwendung von Trendsorten.
Parameter für die dynamische Optimierung mit Hilfe von maschinellen Lernverfahren.
Die Strategie kann in folgenden Richtungen optimiert werden:
Maximal-minimal-Punkt-Zyklus-Optimierung: Die aktuelle feste Zykluszahl kann in eine dynamische Optimierung umgewandelt werden, um eine Überoptimierung durch das feste Modell zu vermeiden.
Erhöhte Stop-Loss-Optimierung: Die Stop-Loss-Werte können dynamisch anhand von Indikatoren wie ATR und Volatilität angepasst werden.
Kombination von mehreren Zeitzyklen: Trends können in höheren Zeitzyklen festgestellt werden, während niedrige Zeitzyklen den Eintritt bestimmen.
Erhöhung des Maschinellen Lernens: Die Verwendung von Methoden wie neuronalen Netzwerken zur Vorhersage der potenziellen Höhen- und Tiefpunktechronisationswahrscheinlichkeit erhöht die Effizienz.
Optimierung von Stop-Loss-Algorithmen: Verbesserung der Algorithmen, um die Triggerung von unwirksamen Stop-Loss-Szenarien so gering wie möglich zu reduzieren, dass die Stop-Loss-Szenarien garantiert sind.
Die High-Low-Breakout-Strategie insgesamt ist eine sehr praktische langfristige Quantifizierungsstrategie. Sie profitiert durch die Erfassung von Umkehrmöglichkeiten in der Nähe von Hoch-Low-Punkten und setzt Stop-Losses, um das Risiko zu kontrollieren, wodurch ein Rückzug kontrolliert wird, während der Gewinn garantiert wird. Die Strategie ist eine Strategie, deren Parameter flexibel und klar ausgelegt sind.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 4h
basePeriod: 15m
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/
// © tweakerID
// Long term strategy for managing a Crypto investment with Swing Trades of more than 1 day. The strategy buys with a
// stop order at the Swing High price (green line) and sells with a stop order at the Swing Low price (red line).
// The direction of the strategy can be adjusted in the Inputs panel.
//@version=4
strategy("Swing Points Breakouts", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital=10000, commission_value=0.04)
direction = input(0, title = "Strategy Direction", type=input.integer, minval=-1, maxval=1)
strategy.risk.allow_entry_in(direction == 0 ? strategy.direction.all : (direction < 0 ? strategy.direction.short : strategy.direction.long))
//Inputss
i_SL=input(true, title="Use Swing Lo/Hi Stop Loss & Take Profit")
i_SwingLow=input(10, title="Swing Low Lookback")
i_SwingHigh=input(10, title="Swing High Lookback")
i_reverse=input(false, "Reverse Trades")
i_SLExpander=input(defval=0, step=1, title="SL Expander")
//Strategy Calculations
SwingLow=lowest(i_SwingLow)
SwingHigh=highest(i_SwingHigh)
//SL & TP Calculations
bought=strategy.position_size != strategy.position_size[1]
LSL=valuewhen(bought, SwingLow, 0)-((valuewhen(bought, atr(14), 0)/5)*i_SLExpander)
SSL=valuewhen(bought, SwingHigh, 0)+((valuewhen(bought, atr(14), 0)/5)*i_SLExpander)
islong=strategy.position_size > 0
isshort=strategy.position_size < 0
SL= islong ? LSL : isshort ? SSL : na
//Entries and Exits
strategy.entry("long", true, stop=i_reverse?na:SwingHigh, limit=i_reverse?SwingLow:na)
strategy.entry("short", false, stop=i_reverse?na:SwingLow, limit=i_reverse?SwingHigh:na)
if i_SL
strategy.exit("longexit", "long", stop=LSL)
strategy.exit("shortexit", "short", stop=SSL)
//Plots
plot(i_SL ? SL : na, color=color.red, style=plot.style_cross, title="SL")
plot(SwingLow, color=color.red)
plot(SwingHigh, color=color.green)