Signatur
Beschreibung
trader_sin ist Teil der PHP-TRADER-Erweiterung, die technische Analysefunktionen für Finanzdaten bereitstellt. Die Funktion wendet die trigonometrische Sinusfunktion elementweise auf ein Array von Gleitkommazahlen an und gibt ein neues Array mit den Ergebniswerten zurück.
Die Eingabewerte werden als Winkel in Radiant (Bogenmaß) interpretiert, wie es bei der mathematischen Standarddefinition des Sinus üblich ist. Der Rückgabewert jedes Elements liegt im Bereich [-1.0, 1.0].
Typische Anwendungsgebiete sind die Verarbeitung von Preiszeitreihen oder Indikatoren in der technischen Analyse, bei denen trigonometrische Transformationen benötigt werden – etwa zur Zyklus-Analyse von Kursdaten oder als Bestandteil komplexerer Indikatoren wie dem Hilbert Transform.
Die Funktion entspricht funktional einem elementweisen sin()-Aufruf auf jedem Array-Wert, ist jedoch auf die Konventionen der TRADER/TA-Lib-Bibliothek abgestimmt und liefert mit den übrigen TRADER-Funktionen kompatible Ergebnisse.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $real Pflicht | array | Numerisches Array mit Gleitkommazahlen (z. B. Kursdaten oder berechnete Indikatoren), deren Werte als Winkel in Radiant interpretiert werden. |
Rückgabewert
false zurückgegeben.Beispiele
Sinus-Werte eines einfachen Arrays berechnen
<?php
// Winkel in Radiant (0, π/6, π/4, π/3, π/2)
$angles = [0, M_PI / 6, M_PI / 4, M_PI / 3, M_PI / 2];
$result = trader_sin($angles);
if ($result === false) {
echo 'Fehler bei der Berechnung.';
} else {
foreach ($result as $index => $value) {
printf("sin(%.4f) = %.4f\n", $angles[$index], $value);
}
}
Kombination mit trader_cos für Phasenanalyse
<?php
// Simulierte normalisierte Indikatordaten (in Radiant)
$data = array_map(fn($i) => $i * (M_PI / 10), range(0, 20));
$sinValues = trader_sin($data);
$cosValues = trader_cos($data);
if ($sinValues !== false && $cosValues !== false) {
foreach (array_keys($sinValues) as $i) {
$phase = atan2($sinValues[$i], $cosValues[$i]);
printf("Index %2d: Phase = %+.4f rad\n", $i, $phase);
}
}
// Wichtig · Fallstricke
Voraussetzung: Die PHP-TRADER-Erweiterung (trader) muss installiert und aktiviert sein. Sie basiert auf der TA-Lib-Bibliothek und ist nicht Teil der Standard-PHP-Distribution.
Radiant vs. Grad: Die Eingabewerte müssen in Radiant vorliegen. Um Grad in Radiant umzurechnen, verwende deg2rad($grad). Wird diese Unterscheidung ignoriert, liefert die Funktion falsche Ergebnisse ohne Fehlermeldung.
Das Rückgabe-Array kann bei bestimmten TRADER-Funktionen einen Lookback-Versatz aufweisen (also weniger Elemente als die Eingabe). Bei trader_sin ist dies in der Regel nicht der Fall, da keine vorherigen Werte benötigt werden.