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

SGN

SGN dans ProBuilder renvoie le signe d'un nombre : -1 pour négatif, 0 pour zéro ou 1 pour positif. Syntaxe, paramètres et exemples pour la logique de direction.

Syntaxe

probuilder
SGN(a)

Paramètres

NomTypeDescription
anombreLa valeur numérique ou l'expression dont le signe est renvoyé.

Formule

code
SGN(x) = -1 if x < 0,   0 if x = 0,   1 if x > 0

La sortie est l'une de trois valeurs exactement, quelle que soit la grandeur de l'entrée.

Comment ça marche

SGN réduit toute valeur à sa direction. SGN(-15) est -1, SGN(0) est 0, et SGN(10) vaut 1. Il s'associe à ABS, qui renvoie la magnitude, donc value = SGN(value) * ABS(value) décompose un nombre en direction et en taille.

La sortie à trois valeurs rend SGN pratique dans les conditions et les calculs. SGN(close - open) vaut +1 sur les barres haussières, -1 sur les barres baissières et 0 sur les barres en doji, ce qui permet de les sommer pour construire un score de direction simple.

Exemples

Exemple 1, Signe de trois valeurs (Indicateur)

probuilder
// Sign of a negative, a zero, and a positive input
variable1 = -15
variable2 = 0
variable3 = 10
sign1 = SGN(variable1)   // -1
sign2 = SGN(variable2)   //  0
sign3 = SGN(variable3)   //  1
RETURN sign1 AS "neg", sign2 AS "zero", sign3 AS "pos"

Chaque appel ramène son entrée à -1, 0 ou 1 uniquement en fonction du signe.

Exemple 2, Score de direction sur les bars récentes (ProScreener)

probuilder
// Net direction of the last three bar closes
score = SGN(close - close[1]) + SGN(close[1] - close[2]) + SGN(close[2] - close[3])
SCREENER[score >= 2](score AS "Up bars")

Additionner trois SGN valeurs donne un petit score entier de -3 à 3 qui mesure combien des bars récents ont monté.

Exemple 3, Filtrer les entrées selon la direction du momentum (ProOrder)

probuilder
// Only go long while momentum direction is positive
mom = close - close[10]
IF SGN(mom) = 1 AND NOT LongOnMarket AND close CROSSES OVER Average[20](close) THEN
  BUY 1 CONTRACT AT MARKET
ENDIF

SGN(mom) = 1 isole la direction du momentum sans se soucier de sa magnitude, ce qui garde le filtre simple.

Erreurs et pièges courants

  • Renvoie uniquement -1, 0 ou 1. SGN ignore totalement l'amplitude. SGN(0.001) et SGN(1000) renvoient tous les deux 1. Utilisez ABS quand la taille compte.
  • Zéro renvoie zéro. Une entrée exactement nulle donne 0, qui n'est ni positif ni négatif. Tenez compte de ce troisième cas dans les comparaisons au lieu de supposer uniquement -1 ou 1.
  • Ce n'est pas une fonction d'arrondi. SGN n'arrondit pas. SGN(3.7) est 1, et non 4. Utilisez ROUND, CEIL ou FLOOR pour l'arrondi.
  • ABS, la valeur absolue, le pendant en amplitude de la direction que SGN renvoie.
  • MAX, la plus grande de deux valeurs.
  • MIN, la plus petite de deux valeurs.
  • ROUND, arrondit à l'entier ou à la décimale la plus proche.
  • Momentum, variation brute de prix souvent réduite à un signe avec SGN.
  • Variation, variation en pourcentage entre bars.
  • ROC, taux de variation.