Signatur
Beschreibung
Die Funktion trader_cdl3outside() ist Teil der TRADER-Erweiterung (TA-Lib) für PHP und analysiert Kerzencharts (Candlestick-Charts) auf das Three-Outside-Up- bzw. Three-Outside-Down-Muster. Dieses dreiteilige Umkehrmuster signalisiert eine mögliche Trendwende: Three-Outside-Up deutet auf eine bullische Umkehr nach einem Abwärtstrend hin, Three-Outside-Down auf eine bärische Umkehr nach einem Aufwärtstrend.
Das Muster besteht aus drei Kerzen: Die erste Kerze ist klein und in Richtung des bestehenden Trends gerichtet. Die zweite Kerze schließt die erste vollständig ein (Außenstab / Engulfing). Die dritte Kerze bestätigt die Richtungsänderung, indem sie in die neue Richtung über das Hoch/Tief der zweiten Kerze hinausläuft.
Alle vier Parameter müssen Arrays gleicher Länge mit numerisch indizierten Kursreihen sein (typischerweise chronologisch geordnet). Das Ergebnis-Array enthält ganzzahlige Werte: 100 für ein bullisches Signal (Three-Outside-Up), -100 für ein bärisches Signal (Three-Outside-Down) und 0 für kein Muster erkannt.
Die Funktion eignet sich für technische Analysen im Handel, z. B. in Handelsalgorithmen oder Chart-Analyse-Werkzeugen. Sie setzt die PHP-TRADER-Erweiterung voraus, die auf der Open-Source-Bibliothek TA-Lib basiert.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $open Pflicht | array | Array mit den Eröffnungskursen (Open) der Kerzen, numerisch indiziert und chronologisch sortiert. | |
| $high Pflicht | array | Array mit den Höchstkursen (High) der Kerzen, numerisch indiziert und chronologisch sortiert. | |
| $low Pflicht | array | Array mit den Tiefstkursen (Low) der Kerzen, numerisch indiziert und chronologisch sortiert. | |
| $close Pflicht | array | Array mit den Schlusskursen (Close) der Kerzen, numerisch indiziert und chronologisch sortiert. |
Rückgabewert
100 steht für ein erkanntes Three-Outside-Up-Muster (bullisch), -100 für ein Three-Outside-Down-Muster (bärisch) und 0 bedeutet, dass kein Muster an dieser Stelle erkannt wurde. Bei einem Fehler (z. B. ungültige Eingaben oder fehlende TRADER-Erweiterung) wird false zurückgegeben. Das Ergebnis-Array kann aufgrund des Look-back-Werts der Funktion kürzer sein als die Eingabe-Arrays.Beispiele
Three-Outside-Muster in Kursdaten erkennen
<?php
// Beispielhafte OHLC-Kursdaten (z. B. Tageskerzen)
$open = [44.0, 43.5, 44.5, 45.0, 44.8, 43.0, 42.5, 41.0, 42.0, 43.5];
$high = [44.5, 44.0, 45.2, 45.5, 45.2, 43.5, 43.0, 42.0, 43.5, 44.5];
$low = [43.5, 43.0, 44.0, 44.5, 44.0, 42.5, 42.0, 40.5, 41.5, 43.0];
$close = [43.8, 43.8, 44.8, 45.2, 44.5, 42.8, 42.2, 41.5, 43.2, 44.0];
$result = trader_cdl3outside($open, $high, $low, $close);
if ($result === false) {
echo 'Fehler bei der Berechnung oder TRADER-Erweiterung nicht verfügbar.';
} else {
foreach ($result as $index => $signal) {
if ($signal === 100) {
echo "Index {$index}: Three-Outside-Up erkannt (bullisches Umkehrsignal)\n";
} elseif ($signal === -100) {
echo "Index {$index}: Three-Outside-Down erkannt (bärisches Umkehrsignal)\n";
}
}
if (empty(array_filter($result))) {
echo "Kein Three-Outside-Muster in den Eingabedaten gefunden.\n";
}
}
Ergebnisse mit Signalen filtern und ausgeben
<?php
// Realistischere OHLC-Daten mit potenziell erkennbarem Muster
$open = [50.0, 49.0, 48.5, 47.0, 46.0, 47.5, 46.0, 44.0, 45.5, 47.0];
$high = [51.0, 50.0, 49.5, 48.5, 47.0, 48.5, 47.5, 46.5, 47.0, 48.0];
$low = [49.0, 48.5, 47.5, 46.5, 45.0, 46.0, 45.0, 43.5, 45.0, 46.5];
$close = [49.5, 48.8, 48.0, 47.0, 46.5, 47.8, 45.5, 45.0, 46.5, 47.5];
$result = trader_cdl3outside($open, $high, $low, $close);
if (is_array($result)) {
$signals = array_filter($result, fn($v) => $v !== 0);
if (empty($signals)) {
echo "Keine Muster erkannt.\n";
} else {
foreach ($signals as $i => $val) {
$typ = $val > 0 ? 'Bullisch (Three-Outside-Up)' : 'Bärisch (Three-Outside-Down)';
echo "Kerze #{$i}: {$typ} (Wert: {$val})\n";
}
}
}
// Wichtig · Fallstricke
Voraussetzung: Die Funktion ist nur verfügbar, wenn die PHP-TRADER-Erweiterung installiert und aktiviert ist (pecl install trader). Ohne diese Erweiterung existiert die Funktion nicht.
Look-back-Wert: Wie alle TA-Lib-Funktionen benötigt trader_cdl3outside() eine Mindestanzahl an Kerzen, um Ergebnisse berechnen zu können. Die ersten Elemente des Ergebnis-Arrays können daher fehlen oder als 0 ausgegeben werden. Das Ergebnis-Array ist unter Umständen kürzer als die Eingabe-Arrays.
Array-Indizes: Die Indizes im zurückgegebenen Array entsprechen nicht zwingend den Indizes der Eingabe-Arrays. Es empfiehlt sich, array_values() zu verwenden oder die Indizes explizit zu prüfen.
Datenqualität: Achte darauf, dass die OHLC-Arrays keine null-Werte oder nicht-numerischen Einträge enthalten, da dies zu falschen Ergebnissen oder false als Rückgabewert führen kann.