Signatur
Beschreibung
trader_atan ist Bestandteil der TRADER-Extension (Technical Analysis for Traders) und wendet die mathematische Arkustangens-Funktion (atan) elementweise auf alle Werte eines numerischen Arrays an. Das Ergebnis entspricht dem Winkel in Bogenmaß (Radiant), dessen Tangens dem jeweiligen Eingabewert entspricht.
Die Funktion gibt Werte im Bereich von -π/2 bis +π/2 (ca. –1,5708 bis +1,5708) zurück. Sie ist nützlich, wenn Tangenswerte von Zeitreihendaten (z. B. aus technischen Indikatoren) in Winkelwerte rückgerechnet werden sollen oder wenn trigonometrische Transformationen auf Preisreihen oder andere Finanzdaten angewendet werden.
Im Gegensatz zur integrierten PHP-Funktion atan(), die einen einzelnen Skalarwert verarbeitet, operiert trader_atan auf einem gesamten Datenvektor und ist damit besonders geeignet für die effiziente Verarbeitung von Kurszeitreihen in der technischen Analyse.
Die TRADER-Extension muss separat installiert und aktiviert sein (z. B. über PECL: pecl install trader).
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $real Pflicht | array | Numerisches Array mit Eingabewerten (z. B. Preiszeitreihe), für die der Arkustangens berechnet werden soll. Die Schlüssel sollten sequenziell sein; nicht-numerische Werte führen zu undefinierten Ergebnissen. |
Rückgabewert
trader_atan jedoch typischerweise 0). Bei einem Fehler wird false zurückgegeben.Beispiele
Arkustangens eines einfachen Datenvektors berechnen
<?php
// Sicherstellen, dass die TRADER-Extension geladen ist
if (!extension_loaded('trader')) {
die('TRADER-Extension ist nicht verfügbar.');
}
$values = [0.0, 0.5, 1.0, -1.0, -0.5, 2.0];
$result = trader_atan($values);
if ($result === false) {
echo 'Fehler bei der Berechnung.';
} else {
foreach ($result as $index => $atan) {
printf("atan(%6.2f) = %8.5f rad (%7.3f°)\n",
$values[$index],
$atan,
rad2deg($atan)
);
}
}
Anwendung auf eine Preiszeitreihe in der technischen Analyse
<?php
// Simulierte normalisierte Preisveränderungen (Momentum-Werte)
$momentum = [0.1, 0.3, 0.8, 1.5, 2.0, 1.2, 0.4, -0.2, -1.0, -1.8];
// Arkustangens berechnet Winkel, der den "Druck" auf eine Skala begrenzt
$atanValues = trader_atan($momentum);
if ($atanValues === false) {
echo 'Berechnung fehlgeschlagen.';
exit;
}
echo "Index | Momentum | Atan (rad) | Atan (Grad)\n";
echo str_repeat('-', 50) . "\n";
foreach ($atanValues as $i => $val) {
printf(" %3d | %8.2f | %10.5f | %10.3f°\n",
$i,
$momentum[$i],
$val,
rad2deg($val)
);
}
// Wichtig · Fallstricke
Voraussetzung: Die TRADER-Extension ist keine Standard-PHP-Extension und muss über PECL installiert werden (pecl install trader). Anschließend muss extension=trader in der php.ini aktiviert werden.
Ergebnis-Array-Indizes: Die TRADER-Extension kann die Indizes des Ergebnis-Arrays gegenüber dem Eingabe-Array verschieben. Es empfiehlt sich, array_values() zu verwenden, falls eine exakte Index-Übereinstimmung erforderlich ist.
Vergleich mit atan(): Für einzelne Skalarwerte ist die eingebaute PHP-Funktion atan() vorzuziehen. trader_atan eignet sich speziell für die Batch-Verarbeitung von Zeitreihendaten.