TAN
TAN i ProBuilder returnerar tangenten för en vinkel angiven i radianer. Odefinierad vid 90 grader och dess udda multiplar. Syntax, fallgropar och genomgångna exempel.
Syntax
TAN(a)Parametrar
| Namn | Typ | Beskrivning |
|---|---|---|
a | tal | Vinkeln i radianer. Grader måste konverteras till radianer före anropet. |
Formel
TAN(a) = SIN(a) / COS(a), with a in radiansTAN(0) returnerar 0 och TAN(PI/4) returnerar 1. Nära 90 grader växer värdet obegränsat och är odefinierat exakt vid den vinkeln.
Så fungerar det
TAN behandlar sitt argument som en vinkel i radianer, så ett gradvärde måste omvandlas med a * PI / 180 först. I motsats till sinus och cosinus är tangens inte begränsad: den löper från minus oändligheten till plus oändligheten och skjuter i höjden när vinkeln närmar sig 90 grader eller 270 grader, där cosinusnämnaren når noll och funktionen är odefinierad.
Skydda mot de vinklarna i kod som sveper över ett intervall. Dess invers, ATAN, är ofta mer användbart i trading eftersom det mappar en obegränsad lutning tillbaka till en begränsad vinkel.
Exempel
Exempel 1, Tangent för en vinkel i grader (Indikator)
// 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)"Omvandlingen är nödvändig. Koden returnerar 1, tangenten för 45 grader, medan TAN(45) skulle behandla 45 som radianer.
Exempel 2, Endast begränsade tangentvärden (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")Att testa att cosinus inte är nära noll håller tangenten borta från sina odefinierade punkter där värdet exploderar.
Exempel 3, Konsistenskontroll mellan lutning och tangent (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 omvandlar lutningen till en säker vinkel och TAN vänder den, eftersom vinkeln stannar inom det intervall där tangens är väldefinierad.
Vanliga fel och fallgropar
- Odefinierad vid 90 grader och dess udda multiplar. Vid 90, 270, 450 grader och så vidare är cosinus noll och tangenten odefinierad, vilket ger mycket stora eller ogiltiga värden. Skydda dessa vinklar i koden.
- Vinkeln måste vara i radianer.
TANförväntar sig radianer. Multiplicera ett gradvärde medPI / 180först, annars blir resultatet meningslöst. - Obegränsad utdata. Till skillnad från
SINochCOS, har tangens ingen gräns på [-1, 1]. En enorm magnitud nära en diskontinuitet är förväntad, inte en bugg, men den kan störa efterföljande beräkningar.
Relaterade instruktioner
SIN, sinus för en vinkel i radianer, tangentens täljare.COS, cosinus för en vinkel i radianer, tangentens nämnare.ATAN, arcus tangens, inversen avTAN.ASIN, arcus sinus.ACOS, arcus cosinus.ABS, absolutvärde, användbart för att skydda cosinusnämnaren.LinearRegressionSlope, lutning för en anpassad linje, relaterat till arbete med vinklar.