TAN
TAN in ProBuilder geeft de tangens van een hoek die in radialen is opgegeven. Niet gedefinieerd bij 90 graden en de oneven veelvouden daarvan. Syntaxis, valkuilen en uitgewerkte voorbeelden.
Syntaxis
TAN(a)Parameters
| Naam | Type | Beschrijving |
|---|---|---|
a | getal | De hoek in radialen. Graden moeten voor de aanroep naar radialen worden omgezet. |
Formule
TAN(a) = SIN(a) / COS(a), with a in radiansTAN(0) retourneert 0 en TAN(PI/4) geeft 1. Bij 90 graden groeit de waarde onbeperkt en is hij precies op die hoek ongedefinieerd.
Hoe het werkt
TAN behandelt zijn argument als een hoek in radialen, dus een waarde in graden moet worden omgerekend met a * PI / 180 eerst. Anders dan sinus en cosinus is de tangens niet begrensd: hij loopt van min oneindig tot plus oneindig en schiet weg wanneer de hoek 90 graden of 270 graden nadert, waar de cosinus in de noemer nul wordt en de functie niet gedefinieerd is.
Bescherm tegen die hoeken in code die een bereik doorloopt. De inverse, ATAN, is in de handel vaak nuttiger omdat hij een onbegrensde helling terugbrengt naar een begrensde hoek.
Voorbeelden
Voorbeeld 1, Tangens van een hoek in graden (Indicator)
// 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)"De omrekening is nodig. De code geeft 1 terug, de tangens van 45 graden, terwijl TAN(45) zou 45 als radialen behandelen.
Voorbeeld 2, Alleen begrensde tangenswaarden (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")Testen of de cosinus niet in de buurt van nul ligt, houdt de tangens weg van de punten waar hij niet gedefinieerd is en explodeert.
Voorbeeld 3, Consistentiecontrole tussen helling en tangens (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 zet de helling om in een veilige hoek en TAN draait het terug, aangezien de hoek binnen het bereik blijft waar de tangens goed gedefinieerd is.
Veelvoorkomende fouten en valkuilen
- Niet gedefinieerd bij 90 graden en de oneven veelvouden daarvan. Bij 90, 270, 450 graden en zo verder is de cosinus nul en is de tangens niet gedefinieerd, wat zeer grote of ongeldige waarden oplevert. Bescherm die hoeken in de code.
- De hoek moet in radialen zijn.
TANverwacht radialen. Vermenigvuldig een waarde in graden metPI / 180eerst, anders is het resultaat zinloos. - Onbegrensde uitvoer. In tegenstelling tot
SINenCOS, heeft de tangens geen [-1, 1] grens. Een enorme magnitude nabij een discontinuïteit is te verwachten, geen bug, maar het kan rekenwerk verderop verstoren.
Gerelateerde instructies
SIN, sinus van een hoek in radialen, de teller van de tangens.COS, cosinus van een hoek in radialen, de noemer van de tangens.ATAN, arctangens, de inverse vanTAN.ASIN, arcsinus.ACOS, arccosinus.ABS, absolute waarde, nuttig om de cosinus-noemer te beschermen.LinearRegressionSlope, helling van een gefitte lijn, verwant aan het werken met hoeken.