Signatur
Beschreibung
Die Funktion trader_cdl3inside() gehört zur PECL-Erweiterung Trader, die auf der TA-Lib basiert. Sie analysiert eine Zeitreihe von Kerzendaten (Open, High, Low, Close) und identifiziert das Three-Inside-Up- bzw. Three-Inside-Down-Muster, ein klassisches Umkehrmuster der technischen Analyse.
Das Three-Inside-Up-Muster besteht aus einer langen bearishen Kerze, gefolgt von einer bullishen Kerze, die vollständig innerhalb der ersten liegt, und einer dritten bullishen Kerze, die über das Hoch der zweiten schließt – ein Zeichen einer möglichen Trendwende nach oben. Das Three-Inside-Down-Muster ist das spiegelbildliche Gegenstück.
Der Rückgabewert ist ein Array mit ganzzahligen Signalwerten: 100 steht für ein bullishes Signal (Three-Inside-Up), -100 für ein bearishes Signal (Three-Inside-Down), und 0 bedeutet, dass kein Muster erkannt wurde. Die ersten Elemente des Arrays sind aufgrund des benötigten Lookback-Zeitraums mit 0 gefüllt.
Diese Funktion eignet sich für automatisierte Handelssysteme, Backtesting-Frameworks oder Marktanalyse-Tools, bei denen Umkehrsignale programmatisch ausgewertet werden sollen.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $open Pflicht | array | Array mit den Eröffnungskursen der Kerzen als numerisch indizierte Gleitkommazahlen. | |
| $high Pflicht | array | Array mit den Höchstkursen der Kerzen als numerisch indizierte Gleitkommazahlen. | |
| $low Pflicht | array | Array mit den Tiefstkursen der Kerzen als numerisch indizierte Gleitkommazahlen. | |
| $close Pflicht | array | Array mit den Schlusskursen der Kerzen als numerisch indizierte Gleitkommazahlen. |
Rückgabewert
100 (bullishes Three-Inside-Up-Muster), -100 (bearishes Three-Inside-Down-Muster) oder 0 (kein Muster erkannt). Bei einem Fehler, z. B. wenn die Arrays unterschiedliche Längen haben oder die Trader-Erweiterung nicht geladen ist, wird false zurückgegeben.Beispiele
Einfache Mustererkennung auf Kursdaten
<?php
// Beispielhafte OHLC-Daten (z. B. 5 Tageskerzen)
$open = [100.0, 98.0, 97.5, 98.5, 99.0];
$high = [102.0, 100.0, 99.0, 100.5, 101.0];
$low = [97.0, 96.5, 96.0, 97.5, 98.0];
$close = [98.5, 97.0, 98.0, 100.0, 100.5];
$result = trader_cdl3inside($open, $high, $low, $close);
if ($result === false) {
echo 'Fehler bei der Mustererkennung.' . PHP_EOL;
} else {
foreach ($result as $index => $signal) {
if ($signal !== 0) {
$type = $signal > 0 ? 'Three-Inside-Up (bullish)' : 'Three-Inside-Down (bearish)';
echo "Kerze #{$index}: {$type}-Muster erkannt (Signal: {$signal})" . PHP_EOL;
}
}
echo 'Analyse abgeschlossen.' . PHP_EOL;
}
?>
Integration in ein einfaches Backtesting-Szenario
<?php
// Simulierte historische Kursdaten
$open = [50, 52, 51, 50, 49, 48, 49, 50, 51];
$high = [53, 54, 53, 51, 50, 50, 51, 52, 53];
$low = [49, 51, 49, 48, 47, 46, 48, 49, 50];
$close = [52, 51, 50, 49, 48, 49, 50, 51, 52];
$signals = trader_cdl3inside($open, $high, $low, $close);
if (is_array($signals)) {
$bullish = array_keys(array_filter($signals, fn($v) => $v === 100));
$bearish = array_keys(array_filter($signals, fn($v) => $v === -100));
echo 'Bullishe Signale an Kerzen: ' . implode(', ', $bullish) . PHP_EOL;
echo 'Bearishe Signale an Kerzen: ' . implode(', ', $bearish) . PHP_EOL;
} else {
echo 'Keine gültigen Daten.' . PHP_EOL;
}
?>
// Wichtig · Fallstricke
Voraussetzung: Die Funktion ist nur verfügbar, wenn die PECL-Erweiterung trader installiert und geladen ist (pecl install trader). Ohne diese Erweiterung führt der Aufruf zu einem fatalen Fehler.
Alle vier Arrays ($open, $high, $low, $close) müssen dieselbe Länge und numerisch aufeinanderfolgende Indizes besitzen, da die Funktion sonst false zurückgibt oder falsche Ergebnisse liefert.
Das Muster erfordert mindestens 3 Kerzen; die ersten Elemente des Ergebnisarrays sind daher mit 0 belegt (Lookback-Zeitraum). Bei der Interpretation sollte immer der Kontext weiterer Indikatoren berücksichtigt werden – ein einzelnes Kerzenmuster allein ist kein zuverlässiges Handelssignal.