Rejoignez-nous
Mathématiques/probuilder · probacktest · proorder · proscreener

MAX

MAX dans ProBuilder renvoie la plus grande de deux valeurs ou variables. Syntaxe, paramètres et exemples pour borner par le bas, limiter et comparer deux séries de données.

Syntaxe

probuilder
MAX(a, b)

Paramètres

NomTypeDescription
anombrePremière valeur ou variable à comparer.
bnombreDeuxième valeur ou variable à comparer.

Formule

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

Le résultat est égal à celui des deux arguments qui est le plus grand. Lorsque les deux sont égaux, l'une ou l'autre valeur est renvoyée puisqu'elles sont identiques.

Comment ça marche

MAX prend exactement deux arguments et renvoie le plus grand. C'est l'équivalent à deux valeurs de Highest, qui parcourt une seule série sur une fenêtre de lookback. Pour retenir la plus grande de trois valeurs ou plus, imbriquez les appels : MAX(a, MAX(b, c)).

Un usage fréquent est d'imposer une borne inférieure, ou plancher. MAX(x, 0) ramène les négatifs à zéro, et MAX(x, k) garantit que le résultat n'est jamais inférieur à k. Combiné à MIN elle borne une valeur dans un intervalle : MIN(hi, MAX(lo, x)).

Exemples

Exemple 1, La plus grande de deux moyennes mobiles (Indicateur)

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 retient la plus haute des deux moyennes sur chaque bar, produisant une enveloppe supérieure qui suit la période la plus élevée.

Exemple 2, Limiter une valeur à zéro par le bas (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) ramène le momentum négatif à zéro, de sorte que seuls les véritables mouvements haussiers subsistent en lectures positives.

Exemple 3, Élargir un stop à une distance minimale (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 garantit que le stop n'est jamais plus serré que le minimum fixe, même lorsque la valeur basée sur l'ATR est faible dans un marché calme.

Erreurs et pièges courants

  • Exactement deux arguments. MAX ne compare que deux valeurs. Pour le plus haut sur une série, utilisez Highest ; pour trois valeurs ou plus, imbriquez les appels comme MAX(a, MAX(b, c)).
  • Ce n'est pas un maximum glissant. MAX(a, b) compare les valeurs actuelles de a et b. Il ne suit pas un sommet dans le temps. Utilisez Highest pour un plus haut glissant.
  • L'ordre n'a pas d'importance. MAX(a, b) et MAX(b, a) renvoient le même résultat, l'ordre des arguments n'a donc pas d'importance.
  • MIN, renvoie la plus petite de deux valeurs, le pendant de MAX.
  • ABS, valeur absolue, souvent combinée avec MAX pour borner les distances.
  • Highest, valeur la plus élevée d'une série sur une période de calcul.
  • Lowest, valeur la plus basse 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.