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
MAX(a, b)Parameter
| Name | Typ | Beschreibung |
|---|---|---|
a | Zahl | Erster zu vergleichender Wert oder erste zu vergleichende Variable. |
b | Zahl | Zweiter zu vergleichender Wert oder zweite zu vergleichende Variable. |
Formel
MAX(a, b) = a if a >= b, otherwise bDas 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)
// 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)
// 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)
// 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
ENDIFMAX 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.
MAXvergleicht nur zwei Werte. Für das Höchste über eine Reihe verwenden SieHighest; für drei oder mehr Werte verschachteln Sie Aufrufe wieMAX(a, MAX(b, c)). - Kein laufendes Maximum.
MAX(a, b)vergleicht die aktuellen Werte vonaundb. Es verfolgt kein Hoch über die Zeit. Verwenden SieHighestfür ein rollierendes Hoch. - Die Reihenfolge spielt keine Rolle.
MAX(a, b)undMAX(b, a)liefern dasselbe Ergebnis, die Reihenfolge der Argumente ist also irrelevant.
Verwandte Befehle
MIN, gibt den kleineren von zwei Werten zurück, das Gegenstück zuMAX.ABS, Absolutwert, oft kombiniert mitMAXum 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.