MIN
MIN in ProBuilder gibt den kleineren von zwei Werten oder Variablen zurück. Syntax, Parameter und Beispiele für das Begrenzen nach oben, das Einschränken und den Vergleich zweier Datenreihen.
Syntax
MIN(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
MIN(a, b) = a if a <= b, otherwise bDas Ergebnis entspricht demjenigen Argument, das kleiner ist. Wenn beide gleich sind, wird einer der beiden Werte zurückgegeben, da sie identisch sind.
So funktioniert es
MIN nimmt genau zwei Argumente und gibt den kleineren zurück. Es ist das Zwei-Werte-Gegenstück zu Lowest, die eine einzelne Reihe über ein Rückblickfenster durchsucht. Um den kleinsten von drei oder mehr Werten zu wählen, verschachteln Sie Aufrufe: MIN(a, MIN(b, c)).
Häufig wird damit eine Obergrenze erzwungen. MIN(x, k) garantiert, dass das Ergebnis nie über k. Kombiniert mit MAX es begrenzt einen Wert auf einen Bereich: MIN(hi, MAX(lo, x)), ein Muster, um Eingaben innerhalb eines gültigen Bereichs zu halten.
Beispiele
Beispiel 1, Der kleinere von zwei gleitenden Durchschnitten (Indikator)
// Return whichever low-based average is lower
mmA = Average[20](low)
mmB = Average[50](low)
result = MIN(mmA, mmB)
RETURN result AS "Lower average"MIN wählt auf jedem Bar den niedrigeren der beiden Durchschnitte und erzeugt so eine untere Hülle, die jeweils der darunter liegenden Periode folgt.
Beispiel 2, Einen Wert nach oben begrenzen (ProScreener)
// Limit an overheated ratio to a maximum of 2
ratio = close / Average[50](close)
capped = MIN(ratio, 2)
SCREENER[ratio > 1](capped AS "Capped ratio")MIN(ratio, 2) verhindert, dass Extremwerte den Scan dominieren, indem der Wert an einer Obergrenze gehalten wird.
Beispiel 3, Eine Eingabe auf einen gültigen Bereich einschränken (ProOrder)
// Keep a normalized reading inside [-1, 1] before using it
raw = (close - Average[20](close)) / (2 * STD[20](close))
clamped = MIN(1, MAX(-1, raw))
IF NOT LongOnMarket AND clamped > 0.8 THEN
BUY 1 CONTRACT AT MARKET
ENDIFKombinieren MIN mit MAX begrenzt den Wert auf [-1, 1], den sicheren Eingabebereich für Funktionen wie ASIN und ACOS.
Häufige Fehler und Stolperfallen
- Genau zwei Argumente.
MINvergleicht nur zwei Werte. Für den niedrigsten Wert einer Reihe verwenden SieLowest; für drei oder mehr Werte verschachteln Sie Aufrufe wieMIN(a, MIN(b, c)). - Kein laufendes Minimum.
MIN(a, b)vergleicht die aktuellen Werte vonaundb. Es verfolgt kein Tief über die Zeit. Verwenden SieLowestfür ein rollierendes Tief. - Die Reihenfolge spielt keine Rolle.
MIN(a, b)undMIN(b, a)liefern dasselbe Ergebnis, die Reihenfolge der Argumente ist also irrelevant.
Verwandte Befehle
MAX, gibt den größeren von zwei Werten zurück, das Gegenstück zuMIN.ABS, Absolutwert, oft kombiniert mitMINum Abstände zu begrenzen.Lowest, niedrigster Wert einer Reihe über eine Rückblickperiode.Highest, höchster 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.