Signatur
Beschreibung
trader_max ist eine Funktion der PHP-TRADER-Erweiterung, die auf der Open-Source-Bibliothek TA-Lib (Technical Analysis Library) basiert. Sie ermittelt für jeden Datenpunkt den höchsten Wert im vorangegangenen Zeitraum der Länge timePeriod – ähnlich einem gleitenden Maximum.
Die Funktion wird vor allem in der technischen Finanzanalyse eingesetzt, etwa um über einen Kursverlauf hinweg das rollierende Hoch (z. B. das 14-Tage-Hoch) zu bestimmen. Typische Anwendungsgebiete sind Handelssignale, Donchian-Channels oder Stop-Loss-Berechnungen.
Da die ersten timePeriod - 1 Werte nicht berechnet werden können (das Fenster ist noch nicht vollständig gefüllt), enthält der zurückgegebene Array weniger Elemente als die Eingabe. Die Indizes des Rückgabe-Arrays beginnen dabei bei timePeriod - 1 (nullbasiert).
Die TRADER-Erweiterung muss separat installiert sein (pecl install trader) und in der php.ini aktiviert werden (extension=trader).
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $real Pflicht | array | Eingabe-Array mit numerischen Werten (z. B. Schlusskurse), über die das gleitende Maximum berechnet wird. Die Array-Schlüssel müssen fortlaufend ganzzahlig sein. | |
| $timePeriod | int | 30 | Anzahl der Perioden (Fenstergröße), über die das Maximum gesucht wird. Gültige Werte liegen typischerweise zwischen 2 und 100000. Standard ist 30. |
Rückgabewert
timePeriod - 1 Positionen fehlen. Bei einem Fehler (z. B. ungültige Parameter oder leere Eingabe) wird false zurückgegeben.Beispiele
14-Perioden-Maximum über Aktienkurse berechnen
<?php
// Simulierte Schlusskurse (z. B. tägliche Aktienkurse)
$closes = [100, 102, 98, 105, 110, 108, 107, 112, 115, 113, 111, 116, 118, 117, 120, 119, 121];
// Berechne das gleitende 14-Perioden-Maximum
$result = trader_max($closes, 14);
if ($result === false) {
echo "Fehler bei der Berechnung.";
} else {
foreach ($result as $index => $maxValue) {
echo "Periode bis Index {$index}: Max = {$maxValue}\n";
}
}
Donchian-Channel-Oberkante für ein 5-Perioden-Fenster
<?php
// Einfache Kursdaten
$prices = [10, 13, 12, 15, 14, 11, 16, 18, 17, 19];
// 5-Perioden-Hoch (Donchian Upper Band)
$upperBand = trader_max($prices, 5);
if ($upperBand !== false) {
echo "Donchian Upper Band (5 Perioden):\n";
foreach ($upperBand as $idx => $val) {
echo " Index {$idx}: {$val}\n";
}
}
// Wichtig · Fallstricke
Fehlende Anfangswerte: Der Rückgabe-Array enthält nur Werte ab Index timePeriod - 1. Beim Zusammenführen mit dem Original-Array muss dieser Offset berücksichtigt werden, da sonst die Zuordnung von Datum zu Wert verschoben wird.
Abhängigkeit: Die Funktion ist nur verfügbar, wenn die TRADER-PECL-Erweiterung installiert und aktiviert ist. Sie ist nicht Teil des PHP-Kerns. Die Verfügbarkeit kann mit extension_loaded('trader') geprüft werden.
Datentypen: Alle Werte im Eingabe-Array sollten numerisch (int oder float) sein. Nicht-numerische Werte können zu unerwarteten Ergebnissen oder false führen.