Start · Sprachen · PHP · Referenz · trader_cdleveningdojistar

trader_cdleveningdojistar

Funktion

Erkennt das Evening-Doji-Star-Candlestick-Muster in OHLC-Kursdaten und gibt ein Array mit Signalwerten zurück.

Kategorie: math

Signatur

trader_cdleveningdojistar(array $open, array $high, array $low, array $close, float $penetration = 0.3): array|false

Beschreibung

Die Funktion trader_cdleveningdojistar() ist Teil der TRADER-Erweiterung für PHP, die auf der TA-Lib (Technical Analysis Library) basiert. Sie analysiert OHLC-Kursdaten (Open, High, Low, Close) und erkennt das Evening Doji Star-Kerzenmuster, ein klassisches bärisches Umkehrmuster der technischen Analyse.

Das Evening-Doji-Star-Muster besteht aus drei Kerzen: zunächst einer langen bullischen Kerze, gefolgt von einem Doji (Kerze, bei der Eröffnungs- und Schlusskurs nahezu identisch sind), der eine Kurslücke nach oben bildet, und abschließend einer langen bärischen Kerze. Das Muster signalisiert eine mögliche Trendumkehr von einem Aufwärts- in einen Abwärtstrend.

Der Parameter penetration steuert, wie tief die dritte Kerze in den Körper der ersten Kerze eindringen muss, damit das Muster als gültig erkannt wird. Ein Wert von 0.3 bedeutet, dass mindestens 30 % des Körpers der ersten Kerze überlappen müssen.

Das Ergebnis-Array enthält für jeden Zeitpunkt entweder -100 (bärisches Signal erkannt), 0 (kein Muster) oder 100 (bullisches Signal, in diesem Fall nicht anwendbar). Die ersten Einträge des Arrays können leer oder nicht vorhanden sein, da für die Berechnung mindestens drei Datenpunkte benötigt werden.

Parameter

Name Typ Default Beschreibung
$open Pflicht array Array mit den Eröffnungskursen der Kerzen, indexiert von 0 bis n-1.
$high Pflicht array Array mit den Höchstkursen der Kerzen, indexiert von 0 bis n-1.
$low Pflicht array Array mit den Tiefstkursen der Kerzen, indexiert von 0 bis n-1.
$close Pflicht array Array mit den Schlusskursen der Kerzen, indexiert von 0 bis n-1.
$penetration float 0.3 Prozentualer Anteil (als Dezimalzahl zwischen 0 und 1), um den die dritte Kerze in den Körper der ersten Kerze eindringen muss. Standardmäßig 0.3 (30 %).

Rückgabewert

Typ
array|false
Beschreibung
Gibt ein Array zurück, das für jeden Datenpunkt einen Integer-Wert enthält: -100 für ein erkanntes bärisches Evening-Doji-Star-Muster, 0 wenn kein Muster vorhanden ist. Im Fehlerfall (z. B. ungültige Eingaben oder fehlende TRADER-Erweiterung) wird false zurückgegeben.

Beispiele

Einfaches Erkennen des Evening-Doji-Star-Musters

<?php
// Beispiel-OHLC-Daten (z. B. Tageskerzen)
$open  = [100.0, 105.0, 110.0, 107.0, 102.0];
$high  = [106.0, 111.0, 111.5, 110.5, 105.0];
$low   = [ 99.0, 104.0, 109.5, 106.5, 100.0];
$close = [105.0, 110.0, 110.2, 107.5, 101.0];

$result = trader_cdleveningdojistar($open, $high, $low, $close, 0.3);

if ($result === false) {
    echo 'Fehler bei der Berechnung oder TRADER-Erweiterung nicht verfügbar.';
} else {
    foreach ($result as $index => $signal) {
        if ($signal !== 0) {
            echo "Muster erkannt bei Index $index: Signal = $signal\n";
        }
    }
    if (array_sum(array_map('abs', $result)) === 0) {
        echo 'Kein Evening-Doji-Star-Muster in den Daten gefunden.';
    }
}
Kein Evening-Doji-Star-Muster in den Daten gefunden.

Muster-Scan über historische Kursdaten mit Signalausgabe

<?php
// Historische OHLC-Daten laden (hier als Beispiel-Arrays)
$open  = [50.0, 52.0, 55.0, 54.8, 49.0, 47.0];
$high  = [53.0, 56.0, 56.0, 55.2, 52.0, 50.0];
$low   = [49.5, 51.5, 54.5, 54.6, 46.0, 44.0];
$close = [52.0, 55.0, 54.9, 54.7, 47.0, 45.0];
// Kerze 2 (close ~open = Doji nach Aufwärtstrend) und Kerze 4 bärisch

$result = trader_cdleveningdojistar($open, $high, $low, $close, 0.3);

if (is_array($result)) {
    foreach ($result as $i => $val) {
        $label = match(true) {
            $val === -100 => '⬇ Bärisches Evening-Doji-Star erkannt',
            $val ===  100 => '⬆ Bullisches Signal',
            default       => 'Kein Muster',
        };
        echo "Index $i: $label\n";
    }
}
Index 0: Kein Muster Index 1: Kein Muster Index 2: Kein Muster Index 3: Kein Muster Index 4: Kein Muster Index 5: Kein Muster

// Wichtig · Fallstricke

Voraussetzung: Die trader-Erweiterung muss in PHP installiert und aktiviert sein (pecl install trader). Sie ist nicht standardmäßig enthalten.

Alle vier OHLC-Arrays müssen dieselbe Länge haben und numerisch indiziert sein. Unterschiedliche Array-Längen führen zu false als Rückgabewert.

Das Ergebnis-Array kann am Anfang weniger Einträge enthalten als die Eingabe-Arrays, da das Muster mindestens 3 Kerzen benötigt. Beachte dies beim Mapping von Ergebnis-Indizes auf Eingabe-Indizes.

Der penetration-Parameter hat einen erheblichen Einfluss auf die Empfindlichkeit der Mustererkennung. Zu kleine Werte führen zu vielen Fehlsignalen, zu große Werte können echte Muster übersehen.