MIN
MIN dans ProBuilder renvoie la plus petite de deux valeurs ou variables. Syntaxe, paramètres et exemples pour plafonner, borner et comparer deux séries de données.
Syntaxe
MIN(a, b)Paramètres
| Nom | Type | Description |
|---|---|---|
a | nombre | Première valeur ou variable à comparer. |
b | nombre | Deuxième valeur ou variable à comparer. |
Formule
MIN(a, b) = a if a <= b, otherwise bLe résultat est égal à celui des deux arguments qui est le plus petit. Lorsque les deux sont égaux, l'une ou l'autre valeur est renvoyée puisqu'elles sont identiques.
Comment ça marche
MIN prend exactement deux arguments et renvoie le plus petit. C'est l'équivalent à deux valeurs de Lowest, qui balaie une seule série sur une fenêtre d'observation. Pour choisir la plus petite de trois valeurs ou plus, imbriquez les appels : MIN(a, MIN(b, c)).
Un usage fréquent est d'imposer une borne supérieure, ou plafond. MIN(x, k) garantit que le résultat n'est jamais supérieur à k. Combiné à MAX elle borne une valeur dans un intervalle : MIN(hi, MAX(lo, x)), un procédé utilisé pour maintenir les entrées dans un domaine valide.
Exemples
Exemple 1, La plus petite de deux moyennes mobiles (Indicateur)
// 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 retient la plus basse des deux moyennes sur chaque bar, produisant une enveloppe inférieure qui suit la période la plus basse.
Exemple 2, Plafonner une valeur à un maximum (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) empêche les valeurs extrêmes de dominer le scan en plafonnant la lecture.
Exemple 3, Borner une entrée dans une plage valide (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
ENDIFAssocier MIN avec MAX borne la lecture dans [-1, 1], qui est la plage d'entrée sûre pour des fonctions comme ASIN et ACOS.
Erreurs et pièges courants
- Exactement deux arguments.
MINne compare que deux valeurs. Pour le minimum sur une série, utilisezLowest; pour trois valeurs ou plus, imbriquez les appels commeMIN(a, MIN(b, c)). - Ce n'est pas un minimum glissant.
MIN(a, b)compare les valeurs actuelles deaetb. Elle ne suit pas un creux dans le temps. UtilisezLowestpour un plus bas glissant. - L'ordre n'a pas d'importance.
MIN(a, b)etMIN(b, a)renvoient le même résultat, l'ordre des arguments n'a donc pas d'importance.
Instructions liées
MAX, renvoie la plus grande de deux valeurs, le pendant deMIN.ABS, valeur absolue, souvent combinée avecMINpour borner les distances.Lowest, valeur la plus basse d'une série sur une période de calcul.Highest, valeur la plus élevée d'une série sur une période de calcul.ROUND, arrondit à l'entier ou à la décimale la plus proche.SGN, signe d'une valeur.Range, amplitude du high au low d'un bar.