ROUND
ROUND en ProBuilder arrondit un nombre à l'entier le plus proche, ou à un nombre défini de décimales. Syntaxe, la note sur l'arrondi bancaire et des exemples détaillés.
Syntaxe
ROUND(a, digits)Paramètres
| Nom | Type | Description |
|---|---|---|
a | nombre | La valeur à arrondir. |
digits | entier | Optionnel. Nombre de décimales d'arrondi. En cas d'omission, a est arrondi au nombre entier le plus proche. |
Formule
ROUND(x) = nearest integer to x, halves rounded to the nearest even valueAvec digits, a est arrondi à ce nombre de décimales, donc ROUND(3.14159, 2) renvoie 3.14.
Comment ça marche
ROUND choisit la valeur la plus proche dans les deux sens, contrairement à CEIL qui arrondit toujours vers le haut et FLOOR qui arrondit toujours vers le bas. Une partie fractionnaire inférieure à 0.5 est arrondie vers le bas, supérieure à 0.5 vers le haut. Les demis exacts suivent l'arrondi bancaire : ils vont au nombre pair le plus proche, de sorte que ROUND(2.5) donne 2 et ROUND(3.5) donne 4. Cela réduit le biais cumulé lors de l'arrondi de nombreuses valeurs.
Le paramètre facultatif digits argument définit la précision du résultat, utile pour normaliser des prix ou des valeurs d'indicateur à un nombre fixe de décimales.
Exemples
Exemple 1, Arrondir un taux de variation (Indicateur)
// Round the 10-period rate of change to a whole number
i1 = ROC[10](close)
roundedROCvalue = ROUND(i1)
RETURN i1 AS "ROC", roundedROCvalue AS "ROC rounded"Si la lecture brute est 9.6, ROUND renvoie 10. Une valeur de 9.4 serait arrondie à 9.
Exemple 2, Arrondir à deux décimales pour regrouper (ProScreener)
// Group instruments by a two-decimal ratio
ratio = close / Average[50](close)
r = ROUND(ratio, 2)
SCREENER[r >= 1](r AS "Ratio 2dp")Arrondir à deux décimales regroupe des ratios quasi identiques dans des paniers communs.
Exemple 3, Arrondir un prix cible calculé (ProOrder)
// Round a target price to a whole number before display
entry = close
target = ROUND(entry * 1.015)
IF NOT LongOnMarket AND close CROSSES OVER Average[20](close) THEN
BUY 1 CONTRACT AT MARKET
ENDIFROUND normalise l'objectif calculé en un nombre entier. Pour aligner un prix d'ordre sur un tick valide, utilisez plutôt ROUNDEDUP ou ROUNDEDDOWN.
Erreurs et pièges courants
- Les demis sont arrondis au pair.
ROUND(2.5)renvoie 2, et non 3, car l'arrondi bancaire envoie les demis exacts vers le nombre pair le plus proche. Ne supposez pas que 0.5 s'arrondit toujours vers le haut. - Arrondit dans les deux sens. Contrairement à
CEILetFLOOR,ROUNDpeut monter ou descendre. UtilisezCEILpour forcer vers le haut etFLOORpour forcer vers le bas. - Pas un arrondi au tick.
ROUNDfonctionne sur les entiers et les décimaux. Pour arrondir un prix d'ordre au tick négociable de l'instrument, utilisezROUNDEDUPouROUNDEDDOWN.
Instructions liées
CEIL, arrondit à l'entier ou à la décimale supérieure.FLOOR, arrondit à l'entier ou à la décimale inférieure.ROUNDEDUP, arrondit un prix d'ordre vers le haut au tick négociable le plus proche.ROUNDEDDOWN, arrondit un prix d'ordre vers le bas au tick négociable le plus proche.ABS, valeur absolue, souvent associée à l'arrondi.SGN, signe d'une valeur.MOD, reste d'une division.