Signatur
Beschreibung
trader_div ist Teil der TRADER-Erweiterung (Technical Analysis for Traders) und führt eine elementweise Division zweier numerischer Vektoren durch. Für jeden Index i wird real0[i] / real1[i] berechnet und das Ergebnis im Ausgabe-Array gespeichert.
Die Funktion ist nützlich, wenn im Kontext der technischen Analyse Verhältnisse zwischen zwei Zeitreihendaten berechnet werden müssen – etwa das Verhältnis von Schlusskurs zu Eröffnungskurs oder die Division von Volumen- und Preisdaten. Beide Eingabe-Arrays müssen dieselbe Länge haben.
Das zurückgegebene Array kann kürzer sein als die Eingabe-Arrays, da die TRADER-Bibliothek intern einen sogenannten Lookback-Wert berechnet. Bei der einfachen Division beträgt dieser Wert jedoch 0, sodass das Ausgabe-Array in der Regel die gleiche Länge wie die Eingaben besitzt.
Die Funktion gibt false zurück, wenn ein Fehler aufgetreten ist, beispielsweise wenn die Arrays unterschiedliche Längen haben oder ungültige Werte enthalten.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $real0 Pflicht | array | Der erste numerische Vektor (Dividend). Alle Werte müssen vom Typ float oder int sein. |
|
| $real1 Pflicht | array | Der zweite numerische Vektor (Divisor). Alle Werte müssen vom Typ float oder int sein. Enthält ein Element den Wert 0, kann dies zu einer Division durch null führen. |
Rückgabewert
false zurückgegeben.Beispiele
Einfache elementweise Division zweier Preisvektoren
<?php
// Beispiel: Verhältnis von Schlusskurs zu Eröffnungskurs
$open = [100.0, 105.0, 110.0, 115.0, 120.0];
$close = [102.0, 103.0, 112.0, 114.0, 125.0];
$result = trader_div($close, $open);
if ($result !== false) {
foreach ($result as $i => $ratio) {
printf("Tag %d: Schluss/Eröffnung = %.4f\n", $i + 1, $ratio);
}
} else {
echo "Fehler bei der Berechnung.\n";
}
Division von Umsatz- und Volumendaten zur Berechnung des VWAP-Näherungswerts
<?php
// Näherungsweise Berechnung des durchschnittlichen Handelspreises
$umsatz = [50000.0, 75000.0, 60000.0, 90000.0];
$volumen = [500.0, 750.0, 600.0, 900.0];
$durchschnittspreise = trader_div($umsatz, $volumen);
if ($durchschnittspreise !== false) {
foreach ($durchschnittspreise as $i => $preis) {
printf("Periode %d: Ø-Preis = %.2f EUR\n", $i + 1, $preis);
}
} else {
echo "Fehler: Ungültige Eingabedaten.\n";
}
// Wichtig · Fallstricke
Division durch null: Enthält das Array real1 einen Wert von 0, kann es zu einer Division durch null kommen. Dies sollte vor dem Aufruf der Funktion explizit geprüft werden, um unerwartete Ergebnisse (INF, NAN) oder Fehler zu vermeiden.
Voraussetzung: Die TRADER-Erweiterung (pecl install trader) muss installiert und in der php.ini aktiviert sein (extension=trader). Andernfalls ist die Funktion nicht verfügbar.
Array-Längen: Beide Eingabe-Arrays müssen exakt dieselbe Anzahl an Elementen besitzen. Bei unterschiedlichen Längen gibt die Funktion false zurück.