Diese Strategie setzt Stop-Loss-Punkte auf Basis der jüngsten Höchststände und Tiefstände, um schnell Trends zu betreten und Risiken streng zu kontrollieren. Sie tritt in Long-Positionen ein, wenn die Preise aufeinanderfolgend steigen, und in Short-Positionen, wenn die Preise aufeinanderfolgend fallen. Beim Halten von Positionen ist die Stop-Loss-Ebene für Long-Positionen die niedrigste der letzten paar Balken und die Stop-Loss-Ebene für Short-Positionen ist die höchste Höhe. Dieser dynamische Stop-Loss-Ansatz kann Trends effizient erfassen und gleichzeitig Verluste strikt begrenzen.
input
Funktion zur Einstellung der Lookback-PeriodenhiLen
undloLen
für höchste Höchststände und tiefste Tiefstände auf 20 ausfallen.hiHighs
bis zum vorherigen Balken mitta.highest(high, hiLen)[1]
, und das niedrigste TiefloLows
Verwendungta.lowest(low, loLen)[1]
.loLows
für Longpositionen undhiHighs
Für eine einfache Bestätigung sollten Sie nicht im flachen Zustand graphieren.higherCloses
: die letzten 3 Balken haben aufeinanderfolgend höhere SchließungenlowerCloses
: die letzten 3 Balken haben aufeinanderfolgend niedrigere SchließungenisFlat
: keine aktuelle PositionisFlat
undhigherCloses
, kurz eingeben, wennisFlat
undlowerCloses
.loLows
; für Kurzpositionen:hiHighs
.Kurz gesagt, diese Strategie nutzt die jüngsten Höchst- und Tiefststände, um Rückstand zu setzen, schnell starke Trends einzugehen und Verluste streng zu begrenzen und so die Trendgewinne effizient zu erfassen.
Diese höchste/niedrigste Stop-Low-Strategie setzt dynamische Stops basierend auf den Preisen selbst, um starke Trends effizient zu erfassen und Risiken streng zu kontrollieren. Ihre Vorteile sind Einfachheit, Effektivität, schnelle Einträge, strenge Stops und hohe Anpassungsfähigkeit. Sie funktioniert jedoch schlecht in unruhigen Märkten, Trendenden und extremen Bewegungen und erfordert Aufmerksamkeit für Parameter-Einstellungen. Zukünftige Verbesserungen können Trend- und Momentumbestätigung hinzufügen, Stops und Positionsgrößen optimieren. Insgesamt ist es eine einfache und effektive Strategie zur Balancierung von Trend-Erfassung und Risikokontrolle, die eine gründliche Forschung und Optimierung in der Praxis verdient.
/*backtest start: 2023-03-02 00:00:00 end: 2024-03-07 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy(title="Highest high/lowest low stop", overlay=true) // STEP 1: // Make inputs for length of highest high and lowest low hiLen = input.int(20, title="Highest High Lookback", minval=2) loLen = input.int(20, title="Lowest Low Lookback", minval=2) // STEP 2: // Calculate recent extreme high and low hiHighs = ta.highest(high, hiLen)[1] loLows = ta.lowest(low, loLen)[1] // Plot stop values for visual confirmation plot(strategy.position_size > 0 ? loLows : na, style=plot.style_circles, color=color.green, linewidth=3, title="Lowest Low Stop") plot(strategy.position_size < 0 ? hiHighs : na, style=plot.style_circles, color=color.red, linewidth=3, title="Highest High Stop") // Trading conditions for this example strategy higherCloses = close > close[1] and close[1] > close[2] and close[2] > close[3] lowerCloses = close < close[1] and close[1] < close[2] and close[2] < close[3] isFlat = strategy.position_size == 0 // Submit entry orders if isFlat and higherCloses strategy.entry("EL", strategy.long) if isFlat and lowerCloses strategy.entry("ES", strategy.short) // STEP 3: // Submit stops based on highest high and lowest low if strategy.position_size > 0 strategy.exit("XL HH", stop=loLows) if strategy.position_size < 0 strategy.exit("XS LL", stop=hiHighs)