Start · Sprachen · PHP · Referenz · trader_trix

trader_trix

Funktion

Berechnet den TRIX-Indikator: die 1-Tages-Änderungsrate (in Prozent) eines dreifach geglätteten exponentiellen gleitenden Durchschnitts (EMA).

Kategorie: math

Signatur

trader_trix(array $real, int $timePeriod = 30): array|false

Beschreibung

Der TRIX-Indikator (Triple Exponential Average) ist ein Momentum-Oszillator aus der technischen Analyse, der die prozentuale Änderungsrate eines dreifach geglätteten EMA über eine festgelegte Periode berechnet. Durch die dreifache Glättung werden kurzfristige Preisschwankungen effektiv herausgefiltert, sodass hauptsächlich bedeutsame Trendänderungen sichtbar bleiben.

Werte oberhalb der Nulllinie deuten auf einen Aufwärtstrend hin, Werte unterhalb auf einen Abwärtstrend. Nullliniendurchgänge sowie Divergenzen zwischen dem TRIX-Wert und dem Kurs des zugrunde liegenden Instruments werden als Kauf- bzw. Verkaufssignale interpretiert.

trader_trix ist Teil der PECL trader-Extension, die die TA-Lib-Bibliothek in PHP verfügbar macht. Die Funktion erwartet ein numerisches Array mit Schlusskursen oder anderen Kursreihen und gibt ein Array mit den berechneten TRIX-Werten zurück. Die ersten Elemente des Rückgabe-Arrays können fehlen, da für die dreifache EMA-Berechnung eine Anlaufphase benötigt wird.

Typische Anwendungsfälle sind die Analyse von Aktien-, Devisen- oder Kryptowährungs-Kursdaten, um Trendstärke und -richtung zu bestimmen sowie überkaufte oder überverkaufte Marktphasen zu identifizieren.

Parameter

Name Typ Default Beschreibung
$real Pflicht array Numerisches Array mit Eingabedaten (z. B. Schlusskurse). Die Schlüssel müssen konsistent und aufsteigend sein.
$timePeriod int 30 Anzahl der Perioden für die EMA-Berechnung. Gültige Werte liegen im Bereich 2–100000. Ein höherer Wert glättet den Indikator stärker und macht ihn weniger sensitiv.

Rückgabewert

Typ
array|false
Beschreibung
Gibt im Erfolgsfall ein numerisches Array mit den berechneten TRIX-Werten zurück. Die ersten (timePeriod - 1) * 3 Einträge der Eingabe werden für die Anlaufphase benötigt und fehlen im Rückgabe-Array. Bei ungültigen Parametern oder einem Fehler wird false zurückgegeben.

Beispiele

TRIX-Berechnung für eine Kursreihe

<?php
// Beispiel-Schlusskurse (z. B. Tagesschlusskurse einer Aktie)
$closePrices = [
    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, 43.61, 44.33, 44.83,
    45.10, 45.15, 43.61, 44.33, 44.83, 45.10, 45.15, 43.61,
    44.33, 44.83, 45.10, 45.15, 43.61, 44.33, 44.83, 45.10,
    45.15, 43.61, 44.33, 44.83, 45.10, 45.15, 43.61, 44.33,
];

$timePeriod = 5;
$result = trader_trix($closePrices, $timePeriod);

if ($result === false) {
    echo 'Fehler bei der TRIX-Berechnung.';
} else {
    echo 'TRIX-Werte:' . PHP_EOL;
    foreach ($result as $index => $value) {
        printf('Index %d: %.6f%%' . PHP_EOL, $index, $value);
    }
}
TRIX-Werte: Index 12: 0.085714% Index 13: -0.423077% ...

Nullliniendurchgänge als Handelssignale erkennen

<?php
// Kursreihe mit deutlichem Trend
$prices = array_merge(
    range(100, 130, 1),  // Aufwärtstrend
    range(130, 110, -1)  // Abwärtstrend
);

$trix = trader_trix($prices, 5);

if ($trix === false) {
    echo 'Berechnung fehlgeschlagen.';
} else {
    $keys = array_keys($trix);
    for ($i = 1; $i < count($keys); $i++) {
        $prev = $trix[$keys[$i - 1]];
        $curr = $trix[$keys[$i]];
        // Nullliniendurchgang von unten nach oben = Kaufsignal
        if ($prev < 0 && $curr >= 0) {
            echo 'Kaufsignal bei Index ' . $keys[$i] . PHP_EOL;
        }
        // Nullliniendurchgang von oben nach unten = Verkaufssignal
        if ($prev > 0 && $curr <= 0) {
            echo 'Verkaufssignal bei Index ' . $keys[$i] . PHP_EOL;
        }
    }
}
Verkaufssignal bei Index ...

// Wichtig · Fallstricke

Anlaufphase: Da TRIX einen EMA dreifach berechnet, werden mindestens (timePeriod - 1) * 3 + 1 Datenpunkte benötigt, bevor der erste Ausgabewert geliefert wird. Das Rückgabe-Array ist daher kürzer als das Eingabe-Array; die Indizes beziehen sich weiterhin auf die Position im ursprünglichen Array.

PECL-Extension erforderlich: trader_trix ist nicht Teil der PHP-Standardinstallation. Die trader-Extension muss separat über PECL installiert und in der php.ini aktiviert werden (extension=trader).

Datenqualität: Lücken oder nicht-numerische Werte im Eingabe-Array können zu unerwarteten Ergebnissen oder false als Rückgabewert führen. Die Eingabedaten sollten vor der Übergabe bereinigt werden.