Start · Sprachen · PHP · Referenz · trader_errno

trader_errno

Funktion

Gibt den letzten Fehlercode der TRADER-Bibliothek zurück, um Fehler bei technischen Analyse-Funktionen zu identifizieren.

Kategorie: math

Signatur

trader_errno(): int

Beschreibung

trader_errno() ist Teil der PHP-TRADER-Erweiterung, die auf der TA-Lib (Technical Analysis Library) basiert. Die Funktion gibt den Fehlercode zurück, der beim letzten Aufruf einer TRADER-Funktion aufgetreten ist.

Da viele trader_*-Funktionen im Fehlerfall lediglich false zurückgeben, ohne eine Fehlermeldung auszugeben, ist trader_errno() das primäre Mittel zur Fehlerdiagnose. Der zurückgegebene Integer-Wert entspricht einem TA-Lib-internen Fehlercode (z. B. TA_SUCCESS = 0, TA_OUT_OF_RANGE_START_INDEX = 1, usw.).

Typisches Einsatzszenario: Nach einem fehlgeschlagenen Aufruf einer technischen Analyse-Funktion (etwa trader_macd()) kann der genaue Fehlergrund mit trader_errno() abgerufen und zum Debugging genutzt werden.

Die Fehlercodes entsprechen den TA_RetCode-Werten aus der TA-Lib. Ein Rückgabewert von 0 bedeutet Erfolg (TA_SUCCESS), alle anderen Werte stehen für unterschiedliche Fehlerzustände wie ungültige Parameter oder fehlerhafte Eingabedaten.

Rückgabewert

Typ
int
Beschreibung
Gibt den Fehlercode des letzten TRADER-Funktionsaufrufs zurück. 0 steht für TA_SUCCESS (kein Fehler). Alle anderen Werte sind TA-Lib-spezifische Fehlercodes, die auf Probleme wie ungültige Parameter, leere Eingabearrays oder Bereichsfehler hinweisen.

Beispiele

Fehlerbehandlung nach einem fehlgeschlagenen MACD-Aufruf

<?php
// Absichtlich fehlerhafte Eingabedaten (zu wenig Datenpunkte)
$closePrices = [1.0, 2.0]; // Viel zu wenige Datenpunkte für MACD

$result = trader_macd($closePrices, 12, 26, 9);

if ($result === false) {
    $errorCode = trader_errno();
    echo "TRADER-Fehler aufgetreten. Fehlercode: " . $errorCode . PHP_EOL;
    // Fehlercode 0 = TA_SUCCESS, andere Werte = Fehler
    if ($errorCode !== 0) {
        echo "Die Berechnung konnte nicht durchgeführt werden." . PHP_EOL;
    }
} else {
    echo "MACD erfolgreich berechnet." . PHP_EOL;
}
TRADER-Fehler aufgetreten. Fehlercode: 2 Die Berechnung konnte nicht durchgeführt werden.

Erfolgreiche Berechnung – errno ist 0

<?php
// Ausreichend Datenpunkte für eine RSI-Berechnung
$closePrices = array_map('floatval', range(10, 60));

$result = trader_rsi($closePrices, 14);

if ($result !== false) {
    $errorCode = trader_errno();
    echo "RSI erfolgreich berechnet. Fehlercode: " . $errorCode . PHP_EOL; // 0 = TA_SUCCESS
    echo "Letzter RSI-Wert: " . round(end($result), 2) . PHP_EOL;
} else {
    echo "Fehlercode: " . trader_errno() . PHP_EOL;
}
RSI erfolgreich berechnet. Fehlercode: 0 Letzter RSI-Wert: 100

// Wichtig · Fallstricke

Voraussetzung: Die PHP-TRADER-Erweiterung muss installiert und aktiviert sein (pecl install trader). Sie ist nicht Teil des PHP-Standardlieferumfangs.

Die Fehlercodes stammen direkt aus der TA-Lib-Enumeration TA_RetCode. Eine vollständige Liste der Codes ist in der TA-Lib-Dokumentation oder im Header ta_defs.h zu finden. Häufige Codes sind: 0 = TA_SUCCESS, 1 = TA_LIB_NOT_INITIALIZE, 2 = TA_BAD_PARAM.

Da der Fehlercode nur den letzten Aufruf widerspiegelt, sollte trader_errno() unmittelbar nach dem fehlgeschlagenen Aufruf abgerufen werden, bevor weitere TRADER-Funktionen aufgerufen werden.