Bli medlem i dag
Matematisk/probuilder · probacktest · proorder · proscreener

TAN

TAN i ProBuilder returnerer tangens av en vinkel oppgitt i radianer. Udefinert ved 90 grader og dens odde multipler. Syntaks, fallgruver og gjennomgåtte eksempler.

Syntaks

probuilder
TAN(a)

Parametere

NavnTypeBeskrivelse
atallVinkelen i radianer. Grader må konverteres til radianer før kallet.

Formel

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

TAN(0) returnerer 0 og TAN(PI/4) returnerer 1. Nær 90 grader vokser verdien uten grense og er udefinert nøyaktig ved den vinkelen.

Slik fungerer det

TAN behandler argumentet sitt som en vinkel i radianer, så en gradverdi må konverteres med a * PI / 180 først. I motsetning til sinus og cosinus er tangens ikke begrenset: den går fra minus uendelig til pluss uendelig og eksploderer når vinkelen nærmer seg 90 grader eller 270 grader, der cosinusnevneren når null og funksjonen er udefinert.

Sikre mot slike vinkler i kode som går gjennom et intervall. Dens inverse, ATAN, er ofte mer nyttig i trading fordi den mapper en ubegrenset stigning tilbake til en begrenset vinkel.

Eksempler

Eksempel 1, Tangens av en vinkel i grader (Indikator)

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)"

Konverteringen er nødvendig. Koden returnerer 1, tangens av 45 grader, mens TAN(45) ville behandlet 45 som radianer.

Eksempel 2, Kun avgrensede tangensverdier (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")

Å teste at cosinus ikke er nær null holder tangens unna sine udefinerte bruddpunkter.

Eksempel 3, Konsistenssjekk mellom helning og tangens (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 gjør stigningstallet om til en trygg vinkel og TAN reverserer den, siden vinkelen holder seg innenfor området der tangens er veldefinert.

Vanlige feil og fallgruver

  • Udefinert ved 90 grader og dens odde multipler. Ved 90, 270, 450 grader og så videre er cosinus null og tangens udefinert, noe som gir svært store eller ugyldige verdier. Sikre deg mot disse vinklene i koden.
  • Vinkelen må være i radianer. TAN forventer radianer. Multipliser en gradverdi med PI / 180 først, ellers er resultatet meningsløst.
  • Utdata uten grenser. I motsetning til SIN og COS, har tangens ingen [-1, 1]-grense. En enorm størrelse nær et diskontinuitetspunkt er forventet, ikke en feil, men den kan forvrenge beregninger lenger ned i kjeden.
  • SIN, sinus av en vinkel i radianer, telleren i tangens.
  • COS, cosinus av en vinkel i radianer, nevneren i tangens.
  • ATAN, arcus tangens, den inverse av TAN.
  • ASIN, arcus sinus.
  • ACOS, arcus cosinus.
  • ABS, absoluttverdi, nyttig for å sikre cosinus-nevneren.
  • LinearRegressionSlope, helningen til en tilpasset linje, relatert til arbeid med vinkler.