Jetzt beitreten
Mathematisch/probuilder · probacktest · proorder · proscreener

TAN

TAN in ProBuilder gibt den Tangens eines im Bogenmaß angegebenen Winkels zurück. Undefiniert bei 90 Grad und dessen ungeraden Vielfachen. Syntax, Stolperfallen und ausgearbeitete Beispiele.

Syntax

probuilder
TAN(a)

Parameter

NameTypBeschreibung
aZahlDer Winkel im Bogenmaß. Grad müssen vor dem Aufruf in Bogenmaß umgerechnet werden.

Formel

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

TAN(0) gibt 0 zurück und TAN(PI/4) gibt 1 zurück. Nahe 90 Grad wächst der Wert unbegrenzt und ist genau bei diesem Winkel undefiniert.

So funktioniert es

TAN behandelt sein Argument als Winkel in Radiant, ein Gradwert muss daher umgerechnet werden mit a * PI / 180 zuerst. Anders als Sinus und Kosinus ist der Tangens nicht begrenzt: er läuft von minus unendlich bis plus unendlich und explodiert, wenn der Winkel sich 90 Grad oder 270 Grad nähert, wo der Kosinus im Nenner null erreicht und die Funktion undefiniert ist.

Sichern Sie diese Winkel in Code ab, der einen Bereich durchläuft. Die Umkehrfunktion, ATAN, ist im Trading oft nützlicher, weil es eine unbegrenzte Steigung auf einen begrenzten Winkel zurückführt.

Beispiele

Beispiel 1, Tangens eines Winkels in Grad (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)"

Die Umrechnung ist erforderlich. Der Code gibt 1 zurück, den Tangens von 45 Grad, wohingegen TAN(45) würde 45 als Radiant behandeln.

Beispiel 2, Nur begrenzte Tangenswerte (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")

Die Prüfung, dass der Kosinus nicht nahe null liegt, hält den Tangens von seinen undefinierten Explosionspunkten fern.

Beispiel 3, Konsistenzprüfung von Steigung zu 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 wandelt die Steigung in einen sicheren Winkel um und TAN kehrt es um, da der Winkel im Bereich bleibt, in dem der Tangens wohldefiniert ist.

Häufige Fehler und Stolperfallen

  • Undefiniert bei 90 Grad und dessen ungeraden Vielfachen. Bei 90, 270, 450 Grad und so weiter ist der Kosinus null und der Tangens undefiniert, was sehr große oder ungültige Werte erzeugt. Sichern Sie diese Winkel im Code ab.
  • Der Winkel muss im Bogenmaß angegeben werden. TAN erwartet Radiant. Multiplizieren Sie einen Gradwert mit PI / 180 zuerst, andernfalls ist das Ergebnis bedeutungslos.
  • Unbegrenzte Ausgabe. Anders als SIN und COS, hat der Tangens keine Grenze von [-1, 1]. Ein riesiger Betrag in der Nähe einer Unstetigkeit ist zu erwarten und kein Fehler, kann aber nachfolgende Berechnungen verzerren.
  • SIN, Sinus eines Winkels im Bogenmaß, der Zähler des Tangens.
  • COS, Kosinus eines Winkels im Bogenmaß, der Nenner des Tangens.
  • ATAN, Arkustangens, die Umkehrfunktion von TAN.
  • ASIN, Arkussinus.
  • ACOS, Arkuskosinus.
  • ABS, Absolutwert, nützlich zur Absicherung des Kosinus-Nenners.
  • LinearRegressionSlope, Steigung einer angepassten Geraden, verwandt mit Winkelberechnungen.