Start · Sprachen · PHP · Referenz · trader_cdl3blackcrows

trader_cdl3blackcrows

Funktion

Erkennt das <code>Three-Black-Crows</code>-Candlestick-Muster in einer Zeitreihe von OHLC-Kursdaten.

Kategorie: math

Signatur

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

Beschreibung

trader_cdl3blackcrows ist Teil der TRADER-Erweiterung für PHP (basierend auf der TA-Lib) und analysiert OHLC-Kursdaten (Open, High, Low, Close) auf das Three-Black-Crows-Muster. Dieses Candlestick-Muster besteht aus drei aufeinanderfolgenden langen, bärischen (roten/fallenden) Kerzen, die jeweils tiefer schließen als die vorherige – ein klassisches Umkehrsignal, das das Ende eines Aufwärtstrends anzeigen kann.

Das Muster gilt als starkes Bärensignal: Jede der drei Kerzen öffnet innerhalb des Körpers der vorherigen Kerze und schließt in der Nähe ihres eigenen Tiefpunkts. In der technischen Analyse wird es häufig genutzt, um mögliche Trendwenden von bullisch zu bärisch zu identifizieren.

Die Funktion gibt für jeden Datenpunkt im Eingabe-Array einen Wert zurück: -100 wenn das Muster erkannt wurde (bärisches Signal), 0 wenn kein Muster vorliegt. Die ersten Elemente des Rückgabe-Arrays können leer sein (lookback-Periode), da für die Mustererkennung eine Mindestanzahl vorheriger Datenpunkte benötigt wird.

Die Funktion ist besonders nützlich in automatisierten Handelssystemen oder Chart-Analysewerkzeugen, die in PHP implementiert sind und auf Basis historischer Kursdaten Signale erzeugen sollen.

Parameter

Name Typ Default Beschreibung
$open Pflicht array Array mit den Eröffnungskursen (Open) der Kerzen als numerische Werte, chronologisch geordnet.
$high Pflicht array Array mit den Höchstkursen (High) der Kerzen als numerische Werte, chronologisch geordnet.
$low Pflicht array Array mit den Tiefstkursen (Low) der Kerzen als numerische Werte, chronologisch geordnet.
$close Pflicht array Array mit den Schlusskursen (Close) der Kerzen als numerische Werte, chronologisch geordnet.

Rückgabewert

Typ
array|false
Beschreibung
Gibt ein Array mit Integer-Werten zurück. -100 bedeutet, dass an diesem Index das Three-Black-Crows-Muster erkannt wurde (bärisches Signal), 0 bedeutet kein Muster. Bei einem Fehler (z. B. ungültige Eingaben oder unterschiedliche Array-Längen) wird false zurückgegeben. Die ersten Elemente des Arrays können fehlen oder 0 sein (Lookback-Periode der TA-Lib).

Beispiele

Einfache Mustererkennung auf synthetischen Kursdaten

<?php
// Beispiel-OHLC-Daten (8 Kerzen, die letzten 3 bilden ein Three-Black-Crows-Muster)
$open  = [100, 102, 104, 106, 105, 103, 101, 99];
$high  = [103, 105, 107, 108, 106, 104, 102, 100];
$low   = [99,  101, 103, 104, 102, 100,  98,  96];
$close = [102, 104, 106, 105, 103, 101,  99,  97];

$result = trader_cdl3blackcrows($open, $high, $low, $close);

if ($result === false) {
    echo 'Fehler bei der Mustererkennung.';
} else {
    foreach ($result as $index => $signal) {
        if ($signal !== 0) {
            echo "Three-Black-Crows-Muster erkannt an Index $index (Signal: $signal)\n";
        }
    }
    if (empty(array_filter($result))) {
        echo "Kein Three-Black-Crows-Muster in den Daten gefunden.\n";
    }
}
Kein Three-Black-Crows-Muster in den Daten gefunden.

Integration in eine einfache Signalauswertung

<?php
// Realistischere Auswertung: Alle Signale im Datensatz auflisten
$open  = [50, 52, 54, 56, 55, 53, 51, 49, 47, 45];
$high  = [53, 55, 57, 57, 56, 54, 52, 50, 48, 46];
$low   = [49, 51, 53, 54, 53, 51, 49, 47, 45, 43];
$close = [52, 54, 56, 55, 53, 51, 49, 47, 45, 43];

$signals = trader_cdl3blackcrows($open, $high, $low, $close);

if (is_array($signals)) {
    echo "Signalauswertung Three-Black-Crows:\n";
    foreach ($signals as $i => $val) {
        $label = match($val) {
            -100 => 'BÄRISCH (Three-Black-Crows)',
            default => 'Kein Muster'
        };
        echo "  Index $i: $label\n";
    }
} else {
    echo 'Fehler: Ungültige Eingabedaten.';
}
Signalauswertung Three-Black-Crows: Index 0: Kein Muster Index 1: Kein Muster Index 2: Kein Muster Index 3: Kein Muster Index 4: Kein Muster Index 5: Kein Muster Index 6: Kein Muster Index 7: Kein Muster Index 8: Kein Muster Index 9: Kein Muster

// Wichtig · Fallstricke

Voraussetzung: Die PHP TRADER-Erweiterung muss installiert und aktiviert sein (pecl install trader). Sie steht nicht im PHP-Kern zur Verfügung.

Array-Längen: Alle vier Eingabe-Arrays (open, high, low, close) müssen exakt dieselbe Länge besitzen. Unterschiedliche Längen führen zu false als Rückgabewert.

Lookback-Periode: Die TA-Lib benötigt intern eine bestimmte Anzahl vorheriger Kerzen zur Berechnung. Das Rückgabe-Array kann daher kürzer sein als das Eingabe-Array oder am Anfang 0-Werte enthalten.

Interpretation: Ein Signal von -100 ist ein Hinweis auf ein potenzielles bärisches Umkehrsignal – es sollte niemals als alleinige Grundlage für Handelsentscheidungen verwendet werden, sondern immer in Kombination mit weiteren Indikatoren und Risikoanalysen.