Signatur
Beschreibung
Die Funktion trader_rsi() gehört zur PHP-TRADER-Erweiterung, die technische Analysefunktionen aus der TA-Lib-Bibliothek bereitstellt. Der Relative Strength Index (RSI) ist ein Momentum-Oszillator, der die Stärke und Geschwindigkeit von Preisbewegungen misst und Werte zwischen 0 und 100 liefert.
Typischerweise wird ein RSI-Wert über 70 als überkauft und ein Wert unter 30 als überverkauft betrachtet. Diese Signale werden häufig als Hinweis auf eine bevorstehende Trendumkehr interpretiert. Der RSI wird besonders in der technischen Analyse von Aktien-, Devisen- und Kryptomärkten eingesetzt.
Die Funktion gibt ein numerisch indiziertes Array zurück. Wichtig: Aufgrund des Berechnungsverfahrens enthält das Ergebnis-Array weniger Einträge als die Eingabe-Zeitreihe. Die ersten timePeriod Elemente werden für die Initialisierung benötigt und erscheinen daher nicht im Rückgabe-Array.
Diese Funktion setzt die Installation der PHP-TRADER-Erweiterung (pecl install trader) voraus.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $real Pflicht | array | Numerisch indiziertes Array mit Kursdaten (z. B. Schlusskurse) als Fließkommazahlen, chronologisch geordnet (älteste Werte zuerst). | |
| $timePeriod | int | 14 | Anzahl der Perioden, die für die RSI-Berechnung verwendet werden. Typisch sind 14 Perioden. Muss zwischen 2 und 100000 liegen. |
Rückgabewert
timePeriod Werte für die Initialisierung verbraucht werden. Im Fehlerfall (z. B. ungültige Parameter oder zu wenig Eingabewerte) wird false zurückgegeben.Beispiele
Einfache RSI-Berechnung mit Schlusskursen
<?php
// Beispiel-Schlusskurse (z. B. einer Aktie über 20 Tage)
$schlusskurse = [
44.34, 44.09, 44.15, 43.61, 44.33,
44.83, 45.10, 45.15, 43.61, 44.33,
44.83, 45.10, 45.15, 46.92, 46.75,
46.48, 45.34, 44.80, 45.42, 45.84
];
$rsi = trader_rsi($schlusskurse, 14);
if ($rsi === false) {
echo "Fehler bei der RSI-Berechnung.\n";
} else {
foreach ($rsi as $index => $wert) {
printf("RSI[%d] = %.2f\n", $index, $wert);
}
}
RSI-Signal: Überkauft / Überverkauft erkennen
<?php
$kurse = [
100, 102, 104, 103, 108, 110, 115, 120, 118, 122,
125, 130, 128, 132, 135, 134, 133, 136, 138, 140
];
$rsi = trader_rsi($kurse, 14);
if ($rsi !== false) {
$letzterRsi = end($rsi);
echo "Letzter RSI-Wert: " . round($letzterRsi, 2) . "\n";
if ($letzterRsi >= 70) {
echo "Signal: Überkauft – mögliche Abwärtsbewegung\n";
} elseif ($letzterRsi <= 30) {
echo "Signal: Überverkauft – mögliche Aufwärtsbewegung\n";
} else {
echo "Signal: Neutral\n";
}
}
// Wichtig · Fallstricke
Erweiterung erforderlich: trader_rsi() steht nur zur Verfügung, wenn die PECL-Erweiterung trader installiert und in der php.ini aktiviert ist (extension=trader). Installation via pecl install trader.
Array-Indizes: Das zurückgegebene Array beginnt nicht bei Index 0, sondern bei Index timePeriod (standardmäßig 14). Dies ist ein häufiger Fallstrick, wenn man die Ergebniswerte direkt mit den Eingabedaten verknüpfen möchte.
Mindestanzahl: Das Eingabe-Array muss mindestens timePeriod + 1 Elemente enthalten, sonst gibt die Funktion false zurück.
Hinweis zur Genauigkeit: Wie in der TA-Lib üblich, wird intern mit dem Wilder'schen Glättungsverfahren gerechnet, was zu geringfügig anderen Werten führen kann als bei manchen anderen RSI-Implementierungen.