Start · Sprachen · PHP · Referenz · trader_cdl3inside

trader_cdl3inside

Funktion

Erkennt das Three-Inside-Up/Down-Candlestick-Muster in OHLC-Kursdaten und gibt Signalwerte zurück.

Kategorie: math

Signatur

trader_cdl3inside(array $open, array $high, array $low, array $close): array|false

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

Typ
array|false
Beschreibung
Gibt ein Array mit ganzzahligen Signalwerten zurück: 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;
}
?>
Analyse abgeschlossen.

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;
}
?>
Bullishe Signale an Kerzen: Bearishe Signale an Kerzen:

// 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.