Iscriviti ora
Matematica/probuilder · probacktest · proorder · proscreener

TAN

TAN in ProBuilder restituisce la tangente di un angolo espresso in radianti. Non definita a 90 gradi e ai suoi multipli dispari. Sintassi, insidie ed esempi svolti.

Sintassi

probuilder
TAN(a)

Parametri

NomeTipoDescrizione
anumeroL'angolo in radianti. I gradi devono essere convertiti in radianti prima della chiamata.

Formula

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

TAN(0) restituisce 0 e TAN(PI/4) restituisce 1. Vicino a 90 gradi il valore cresce senza limite ed è indefinito esattamente a quell'angolo.

Come funziona

TAN tratta il suo argomento come un angolo in radianti, quindi un valore in gradi deve essere convertito con a * PI / 180 prima. A differenza di seno e coseno, la tangente non è limitata: va da meno infinito a più infinito ed esplode quando l'angolo si avvicina a 90 gradi o 270 gradi, dove il denominatore del coseno raggiunge zero e la funzione non è definita.

Tieni conto di quegli angoli nel codice che percorre un intervallo. La sua inversa, ATAN, è spesso più utile nel trading perché riporta una pendenza illimitata a un angolo limitato.

Esempi

Esempio 1, Tangente di un angolo in gradi (Indicatore)

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 conversione è necessaria. Il codice restituisce 1, la tangente di 45 gradi, mentre TAN(45) tratterebbe 45 come radianti.

Esempio 2, Solo letture limitate della tangente (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")

Verificare che il coseno non sia vicino a zero tiene la tangente lontana dai suoi punti di divergenza non definiti.

Esempio 3, Verifica di coerenza tra pendenza e 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 trasforma la pendenza in un angolo sicuro e TAN la inverte, poiché l'angolo rimane all'interno dell'intervallo in cui la tangente è ben definita.

Errori e insidie comuni

  • Non definita a 90 gradi e ai suoi multipli dispari. A 90, 270, 450 gradi e così via il coseno è zero e la tangente non è definita, producendo valori molto grandi o non validi. Proteggi quegli angoli nel codice.
  • L'angolo deve essere in radianti. TAN richiede radianti. Moltiplica un valore in gradi per PI / 180 prima, altrimenti il risultato è privo di significato.
  • Output non limitato. A differenza di SIN e COS, la tangente non ha il limite [-1, 1]. Un valore di grandezza enorme vicino a una discontinuità è previsto, non è un bug, ma può distorcere i calcoli successivi.
  • SIN, seno di un angolo in radianti, il numeratore della tangente.
  • COS, coseno di un angolo in radianti, il denominatore della tangente.
  • ATAN, arcotangente, l'inverso di TAN.
  • ASIN, arcoseno.
  • ACOS, arcocoseno.
  • ABS, valore assoluto, utile per proteggere il denominatore del coseno.
  • LinearRegressionSlope, pendenza di una retta interpolata, collegata al lavoro sugli angoli.