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

TAN

TAN en ProBuilder renvoie la tangente d'un angle donné en radians. Non définie à 90 degrés et à ses multiples impairs. Syntaxe, pièges et exemples détaillés.

Syntaxe

probuilder
TAN(a)

Paramètres

NomTypeDescription
anombreL'angle en radians. Les degrés doivent être convertis en radians avant l'appel.

Formule

code
TAN(a) = SIN(a) / COS(a),   with a in radians

TAN(0) renvoie 0 et TAN(PI/4) renvoie 1. Près de 90 degrés la valeur croît sans limite et n'est pas définie exactement à cet angle.

Comment ça marche

TAN traite son argument comme un angle en radians, donc une valeur en degrés doit être convertie avec a * PI / 180 d'abord. Contrairement au sinus et au cosinus, la tangente n'est pas bornée : elle va de moins l'infini à plus l'infini et explose quand l'angle approche 90 degrés ou 270 degrés, là où le dénominateur cosinus atteint zéro et où la fonction n'est pas définie.

Méfiez-vous de ces angles dans un code qui balaie une plage. Son inverse, ATAN, est souvent plus utile en trading car elle ramène une pente non bornée à un angle borné.

Exemples

Exemple 1, Tangente d'un angle en degrés (Indicateur)

probuilder
// Convert 45 degrees to radians, then take the tangent
angleInDegrees = 45
angleInRadians = angleInDegrees * 3.14159265 / 180
result = TAN(angleInRadians)
RETURN result AS "TAN(45 deg)"

La conversion est obligatoire. Le code renvoie 1, la tangente de 45 degrés, alors que TAN(45) traiterait 45 comme des radians.

Exemple 2, Uniquement les lectures de tangente bornées (ProScreener)

probuilder
// Avoid angles near 90 degrees where tangent is unstable
angleDeg = 30
angleRad = angleDeg * 3.14159265 / 180
safe = ABS(COS(angleRad)) > 0.01
t = TAN(angleRad)
SCREENER[safe](t AS "Tangent")

Vérifier que le cosinus n'est pas proche de zéro éloigne la tangente de ses points de divergence non définis.

Exemple 3, Contrôle de cohérence entre pente et tangente (ProOrder)

probuilder
// Reconstruct a slope from an angle and gate entries on it
ma = Average[30](close)
slopeAngle = ATAN(ma - ma[1])
reconSlope = TAN(slopeAngle)
IF reconSlope > 0 AND NOT LongOnMarket AND close CROSSES OVER ma THEN
  BUY 1 CONTRACT AT MARKET
ENDIF

ATAN transforme la pente en un angle sûr et TAN l'inverse, puisque l'angle reste dans la plage où la tangente est bien définie.

Erreurs et pièges courants

  • Non définie à 90 degrés et à ses multiples impairs. À 90, 270, 450 degrés et ainsi de suite, le cosinus est nul et la tangente n'est pas définie, ce qui produit des valeurs très grandes ou invalides. Protégez ces angles dans le code.
  • L'angle doit être en radians. TAN attend des radians. Multipliez une valeur en degrés par PI / 180 d'abord, sinon le résultat n'a aucun sens.
  • Sortie non bornée. Contrairement à SIN et COS, la tangente n'a pas de limite [-1, 1]. Une magnitude énorme près d'une discontinuité est attendue, ce n'est pas un bug, mais elle peut fausser les calculs en aval.
  • SIN, sinus d'un angle en radians, le numérateur de la tangente.
  • COS, cosinus d'un angle en radians, le dénominateur de la tangente.
  • ATAN, arc tangente, l'inverse de TAN.
  • ASIN, arc sinus.
  • ACOS, arc cosinus.
  • ABS, valeur absolue, utile pour protéger le dénominateur du cosinus.
  • LinearRegressionSlope, pente d'une droite ajustée, liée au travail sur les angles.