Jetzt beitreten
Indikatoren/probuilder · probacktest · proorder · proscreener

Lowest

Lowest in ProBuilder gibt den Minimalwert eines Kurses oder einer Reihe über die letzten N Bars zurück, verwendet für Unterstützungsniveaus, Kanäle und Stops. Syntax, Beispiele.

Syntax

probuilder
Lowest[N](price)

Parameter

NameTypStandardBeschreibung
NGanzzahlerforderlichAnzahl der durchsuchten Bars, einschließlich des aktuellen Bars. Darf die Anzahl der im Chart oder im Backtest geladenen Bars nicht übersteigen.
priceReiheSchlusskursJede Preiskonstante wie close, open, high, low, oder eine beliebige eigene Variable bzw. Indikatorausgabe.

Formel

Code
Lowest[N](price) = min( price[0], price[1], ..., price[N-1] )

wobei price[0] ist der aktuelle Bar und price[N-1] der älteste Bar im Fenster.

So funktioniert es

Auf jedem Bar durchsucht ProBuilder ein gleitendes Fenster der letzten N Werte der angegebenen Serie und gibt das Minimum zurück. Das Fenster umfasst immer den gerade ausgewerteten Bar, was für Breakout-Logik wichtig ist: auf dem Bar, auf dem der Kurs ein neues Tief macht, Lowest[N](low) entspricht diesem neuen Tief, also low < Lowest[N](low) kann niemals wahr sein. Den ganzen Ausdruck um einen Bar zurück zu verschieben mit Lowest[N](low)[1] ergibt den vorherigen N-Bar-Low, der Wert, gegen den Breakout-Systeme tatsächlich vergleichen.

Die Funktion akzeptiert jede Serie, nicht nur reine Kurse. Lowest[20](RSI[14](close)) gibt den niedrigsten RSI-Wert der letzten 20 Bars zurück, ein Muster, das zur Normalisierung verwendet wird, und Lowest[N](low) zusammen mit Highest[N](high) bildet den Donchian-Kanal und den Nenner des Stochastik-Oszillators.

Lowest beantwortet "was ist das Minimum"; das Gegenstück LowestBars beantwortet "vor wie vielen Bars ist es aufgetreten".

Beispiele

Beispiel 1, Adaptives unteres Band (Indikator)

probuilder
// Use the current low when it undercuts the 30-bar lowest close
IF Low < Lowest[30](close) THEN
  bandL = Low
ELSE
  bandL = Lowest[30](close)
ENDIF
RETURN bandL

Bildet ein unteres Band aus dem kleineren Wert von aktuellem Tief und tiefstem Schlusskurs der letzten 30 Bars, sodass Intrabar-Spitzen unter dem Boden der Schlusskurse sofort erfasst werden.

Beispiel 2, Donchian-Ausstiegsstop (ProOrder)

probuilder
// Enter on a 20-bar breakout, exit at the 10-bar low
IF NOT OnMarket AND close CROSSES OVER Highest[20](high)[1] THEN
  BUY 1 CONTRACT AT MARKET
ENDIF

IF LongOnMarket THEN
  SELL AT Lowest[10](low) STOP
ENDIF

Platziert eine Stop-Order am tiefsten Tief der letzten 10 Bars, ein klassischer nachlaufender Ausstieg, der dem Markt nach oben folgt, wenn neue höhere Tiefs gesetzt werden.

Beispiel 3, Nahe dem 52-Wochen-Tief (ProScreener)

probuilder
// Daily scan for instruments within 2 percent of their one-year low
low52    = Lowest[252](low)
distance = 100 * (close - low52) / low52
SCREENER[distance < 2](distance AS "Pct above 52w low")

Gibt Instrumente zurück, deren Schlusskurs weniger als 2 Prozent über dem tiefsten Tief der letzten 252 Tagesbars liegt, also etwa eines Handelsjahres.

Interpretation

Das rollierende Minimum ist die direkteste Definition von Unterstützung: das Kursniveau, das über das gewählte Fenster gehalten hat. Ein Kurs in der Nähe von Lowest[N](low) testet diese Unterstützung, und ein Schlusskurs darunter ist ein Range-Breakdown. Trendfolger lesen einen Bruch des N-Bar-Tief als Short-Einstieg oder Long-Ausstieg, während Mean-Reversion-Trader den Abstand zwischen Kurs und dem rollierenden Tief als verfügbaren Abwärtsspielraum lesen.

Die Fensterlänge bestimmt den Charakter. Lowest[10] verfolgt Swing-Lows für enge Trailing Stops, Lowest[252] verfolgt den Einjahres-Boden, der in Scans zur relativen Stärke verwendet wird.

Häufige Fehler und Stolperfallen

  • Das Fenster umfasst den aktuellen Bar. low < Lowest[N](low) ist immer false. Für die Erkennung eines Breakdowns vergleichen Sie mit dem vorherigen Fenster: close CROSSES UNDER Lowest[N](low)[1].
  • N über die geladene Historie hinaus. Wenn weniger als N Bars verfügbar sind, wird das Ergebnis auf dem Vorhandenen berechnet, daher weichen frühe Backtest-Werte von den Chart-Werten ab. Laden Sie genug Historie, oder erhöhen Sie in automatisierten Systemen DEFPARAM PreloadBars.
  • Lowest ist nicht MIN. MIN(a, b) vergleicht zwei Ausdrücke auf demselben Bar; Lowest[N](a) durchsucht eine Serie über die Zeit. MIN kann keine Periode annehmen und Lowest kann keine zwei Serien annehmen.
  • Wert versus Position. Lowest gibt das Niveau, nicht den Zeitpunkt. Um zu erfahren, vor wie vielen Bars das Minimum auftrat, verwenden Sie LowestBars, zum Beispiel um zu messen, wie alt ein Unterstützungsniveau ist.
  • Highest, das symmetrische rollierende Maximum.
  • LowestBars, Anzahl der Bars seit dem Auftreten des Minimums.
  • HighestBars, Anzahl der Bars seit dem Auftreten des Maximums.
  • MIN, Minimum zweier Ausdrücke auf demselben Bar.
  • DonchianChannelDown, fertige Kanallinie, die auf dem rollierenden Tief aufbaut.
  • Stochastic, Oszillator, normalisiert über die Spanne zwischen Höchst- und Tiefstwert.
  • Average, gleitender Durchschnitt, das Gegenstück zur Glättung.
  • Range, Hoch minus Tief des aktuellen Bars.