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
TAN(a)Parametri
| Nome | Tipo | Descrizione |
|---|---|---|
a | numero | L'angolo in radianti. I gradi devono essere convertiti in radianti prima della chiamata. |
Formula
TAN(a) = SIN(a) / COS(a), with a in radiansTAN(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)
// 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)
// 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)
// 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
ENDIFATAN 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.
TANrichiede radianti. Moltiplica un valore in gradi perPI / 180prima, altrimenti il risultato è privo di significato. - Output non limitato. A differenza di
SINeCOS, 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.
Istruzioni correlate
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 diTAN.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.