Jetzt beitreten
Mathematisch/probuilder · probacktest · proorder · proscreener

MAX

MAX in ProBuilder gibt den größeren von zwei Werten oder Variablen zurück. Syntax, Parameter und Beispiele für das Begrenzen nach unten, das Einschränken und den Vergleich zweier Datenreihen.

Syntax

probuilder
MAX(a, b)

Parameter

NameTypBeschreibung
aZahlErster zu vergleichender Wert oder erste zu vergleichende Variable.
bZahlZweiter zu vergleichender Wert oder zweite zu vergleichende Variable.

Formel

Code
MAX(a, b) = a if a >= b, otherwise b

Das Ergebnis entspricht demjenigen Argument, das größer ist. Wenn beide gleich sind, wird einer der beiden Werte zurückgegeben, da sie identisch sind.

So funktioniert es

MAX nimmt genau zwei Argumente und gibt das größere zurück. Es ist das Zwei-Wert-Gegenstück zu Highest, das eine einzelne Reihe über ein Lookback-Fenster durchsucht. Um den größten von drei oder mehr Werten zu wählen, verschachteln Sie die Aufrufe: MAX(a, MAX(b, c)).

Häufig wird damit eine Untergrenze erzwungen. MAX(x, 0) begrenzt negative Werte auf null, und MAX(x, k) garantiert, dass das Ergebnis nie unter k. Kombiniert mit MIN es begrenzt einen Wert auf einen Bereich: MIN(hi, MAX(lo, x)).

Beispiele

Beispiel 1, Der größere von zwei gleitenden Durchschnitten (Indikator)

probuilder
// Return whichever high-based average is greater
mmA = Average[20](high)
mmB = Average[50](high)
result = MAX(mmA, mmB)
RETURN result AS "Upper average"

MAX wählt auf jedem Bar den höheren der beiden Durchschnitte und erzeugt so eine obere Hülle, die jeweils der oben liegenden Periode folgt.

Beispiel 2, Einen Wert bei Null nach unten begrenzen (ProScreener)

probuilder
// Never let the momentum reading go below zero
mom = close - close[10]
floored = MAX(mom, 0)
SCREENER[floored > 0](floored AS "Positive momentum")

MAX(mom, 0) begrenzt negatives Momentum auf null, sodass nur echte Aufwärtsbewegungen als positive Werte übrig bleiben.

Beispiel 3, Einen Stop auf einen Mindestabstand ausweiten (ProOrder)

probuilder
// Use the larger of an ATR-based stop and a fixed minimum distance
atrStop = 2 * AverageTrueRange[14](close)
minStop = 15 * pointsize
stopDist = MAX(atrStop, minStop)
IF NOT LongOnMarket AND close CROSSES OVER Average[20](close) THEN
  BUY 1 CONTRACT AT MARKET
  SET STOP LOSS stopDist
ENDIF

MAX garantiert, dass der Stop nie enger ist als das feste Minimum, selbst wenn der ATR-basierte Wert in einem ruhigen Markt klein ist.

Häufige Fehler und Stolperfallen

  • Genau zwei Argumente. MAX vergleicht nur zwei Werte. Für das Höchste über eine Reihe verwenden Sie Highest; für drei oder mehr Werte verschachteln Sie Aufrufe wie MAX(a, MAX(b, c)).
  • Kein laufendes Maximum. MAX(a, b) vergleicht die aktuellen Werte von a und b. Es verfolgt kein Hoch über die Zeit. Verwenden Sie Highest für ein rollierendes Hoch.
  • Die Reihenfolge spielt keine Rolle. MAX(a, b) und MAX(b, a) liefern dasselbe Ergebnis, die Reihenfolge der Argumente ist also irrelevant.
  • MIN, gibt den kleineren von zwei Werten zurück, das Gegenstück zu MAX.
  • ABS, Absolutwert, oft kombiniert mit MAX um Abstände zu begrenzen.
  • Highest, höchster Wert einer Reihe über eine Rückblickperiode.
  • Lowest, niedrigster Wert einer Reihe über eine Rückblickperiode.
  • ROUND, rundet auf die nächste Ganzzahl oder Dezimalstelle.
  • SGN, Vorzeichen eines Werts.
  • Range, Spanne von High zu Low eines Bars.