Signatur
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
(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);
}
}
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;
}
}
}
// 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.