Signatur
Beschreibung
trader_cdlengulfing() ist Teil der PECL-Erweiterung Trader, die auf der TA-Lib basiert. Die Funktion analysiert eine Reihe von Candlestick-Daten (Open, High, Low, Close) und identifiziert das sogenannte Engulfing-Muster – ein klassisches zweikörziges Umkehrmuster der technischen Analyse.
Ein Bullish Engulfing tritt auf, wenn eine große grüne (steigende) Kerze den Körper der vorherigen roten (fallenden) Kerze vollständig umschließt. Ein Bearish Engulfing ist das Gegenteil: Eine große rote Kerze umschließt den Körper der vorherigen grünen Kerze. Beide Muster gelten als potenzielle Trendwendesignale.
Der Rückgabewert ist ein Array mit denselben Indizes wie die Eingabe-Arrays. Für Kerzen, bei denen das Muster erkannt wird, liefert die Funktion 100 (Bullish Engulfing) oder -100 (Bearish Engulfing). Alle anderen Positionen erhalten den Wert 0. Die ersten Elemente des Ergebnisarrays können leer sein, da für das Muster mindestens zwei Kerzen benötigt werden.
Die Funktion eignet sich besonders für automatisierte Trading-Strategien, Backtesting-Systeme oder Marktscreener, die auf Trendwechselsignale reagieren sollen.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $open Pflicht | array | Array der Eröffnungskurse (Open) als Gleitkommazahlen, indexiert nach Zeitreihenposition. | |
| $high Pflicht | array | Array der Höchstkurse (High) als Gleitkommazahlen für denselben Zeitraum. | |
| $low Pflicht | array | Array der Tiefstkurse (Low) als Gleitkommazahlen für denselben Zeitraum. | |
| $close Pflicht | array | Array der Schlusskurse (Close) als Gleitkommazahlen für denselben Zeitraum. |
Rückgabewert
100 für ein erkanntes Bullish-Engulfing-Muster, -100 für ein Bearish-Engulfing-Muster und 0 wenn kein Muster erkannt wurde. Die ersten Einträge (Lookback-Periode) können fehlen oder 0 sein, da mindestens zwei Kerzen für die Mustererkennung benötigt werden.Beispiele
Grundlegende Mustererkennung auf simulierten Kursdaten
<?php
// Beispielhafte OHLC-Daten (simulierte Kurse)
$open = [10.0, 12.0, 11.5, 10.8, 11.0];
$high = [12.5, 13.0, 12.5, 11.5, 13.0];
$low = [ 9.5, 10.5, 10.0, 9.8, 10.5];
$close = [12.0, 11.0, 10.5, 11.2, 12.8];
$result = trader_cdlengulfing($open, $high, $low, $close);
foreach ($result as $index => $signal) {
if ($signal === 100) {
echo "Kerze #{$index}: Bullish Engulfing erkannt!\n";
} elseif ($signal === -100) {
echo "Kerze #{$index}: Bearish Engulfing erkannt!\n";
} else {
echo "Kerze #{$index}: Kein Muster ({$signal})\n";
}
}
Kombination mit trader_cdlengulfing für einen einfachen Screener
<?php
// Realistischere OHLC-Daten mit erkennbarem Bullish-Engulfing-Muster
// Kerze 0: Bearish (Open > Close)
// Kerze 1: Bullish und größer → Engulfing
$open = [100.0, 105.0, 98.0, 97.0];
$high = [106.0, 108.0, 105.0, 106.0];
$low = [ 95.0, 94.0, 96.0, 96.0];
$close = [ 96.0, 95.0, 106.0, 104.0];
$signals = trader_cdlengulfing($open, $high, $low, $close);
$signalMap = [
100 => 'Bullish Engulfing 📈',
-100 => 'Bearish Engulfing 📉',
0 => 'Kein Signal',
];
foreach ($signals as $i => $val) {
$label = $signalMap[$val] ?? 'Unbekannt';
echo sprintf("Index %d | Close: %.2f | Signal: %s\n", $i, $close[$i], $label);
}
// Wichtig · Fallstricke
PECL-Abhängigkeit: Die Funktion ist nur verfügbar, wenn die PECL-Trader-Erweiterung installiert ist (pecl install trader). Sie ist nicht Bestandteil von PHP selbst.
- Alle vier Eingabe-Arrays müssen dieselbe Länge und übereinstimmende Indizes haben, andernfalls kann die Funktion
falsezurückgeben oder ein Fehler auftreten. - Die Lookback-Periode beträgt mindestens 1 (d. h. der erste Index im Ergebnis ist immer
0oder fehlt), da das Muster zwei Kerzen benötigt. - Das Engulfing-Muster ist ein Zwei-Kerzen-Muster und sollte immer im Kontext des übergeordneten Trends interpretiert werden – isolierte Signale haben geringere Zuverlässigkeit.
- Für produktive Anwendungen empfiehlt es sich, Signale mit weiteren Indikatoren wie
trader_rsi()odertrader_macd()zu kombinieren.