Signatur
Beschreibung
Die Funktion trader_cdlclosingmarubozu gehört zur PECL-Erweiterung trader, die auf der TA-Lib (Technical Analysis Library) basiert. Sie erkennt das sogenannte Closing Marubozu-Kerzenmuster in einer Reihe von OHLC-Kursdaten (Open, High, Low, Close).
Ein Closing Marubozu ist eine Kerze, bei der der Schlusskurs identisch mit dem Hoch (bullisches Muster) oder dem Tief (bärisches Muster) der Periode ist – es gibt also keinen oberen bzw. unteren Schatten am Kerzenkörper-Ende. Dieses Muster signalisiert starke Kaufkraft (positives Closing Marubozu) oder Verkaufsdruck (negatives Closing Marubozu) und wird in der technischen Analyse als Trendfortsetzungs- oder Trendbeschleunigungssignal interpretiert.
Der Rückgabewert ist ein Array mit ganzzahligen Signalen: 100 steht für ein bullisches Muster, -100 für ein bärisches Muster, und 0 bedeutet, dass kein Muster erkannt wurde. Die ersten Elemente des Arrays können 0 sein, da die Berechnung einen Lookback-Zeitraum benötigt.
Die Funktion eignet sich für die automatisierte Analyse von Candlestick-Daten in Handelssystemen, Backtesting-Frameworks und Marktanalyse-Applikationen.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $open Pflicht | array | Array mit den Eröffnungskursen (Open) der Kerzen als numerische Werte. | |
| $high Pflicht | array | Array mit den Höchstkursen (High) der Kerzen als numerische Werte. | |
| $low Pflicht | array | Array mit den Tiefstkursen (Low) der Kerzen als numerische Werte. | |
| $close Pflicht | array | Array mit den Schlusskursen (Close) der Kerzen als numerische Werte. |
Rückgabewert
100 (bullisches Closing Marubozu), -100 (bärisches Closing Marubozu) oder 0 (kein Muster erkannt). Bei einem Fehler wird false zurückgegeben. Die Länge des Arrays entspricht der Länge der Eingabe-Arrays.Beispiele
Einfache Mustererkennung auf historischen Kursdaten
<?php
// Beispiel-OHLC-Daten (z. B. Tageskurse einer Aktie)
$open = [100.0, 102.0, 101.5, 103.0, 105.0];
$high = [105.0, 106.0, 104.0, 108.0, 110.0];
$low = [ 99.0, 101.0, 100.0, 102.5, 104.5];
$close = [104.0, 106.0, 102.0, 108.0, 110.0]; // close == high => bullisches Closing Marubozu
$result = trader_cdlclosingmarubozu($open, $high, $low, $close);
if ($result === false) {
echo 'Fehler bei der Berechnung.' . PHP_EOL;
} else {
foreach ($result as $index => $signal) {
if ($signal !== 0) {
$typ = $signal > 0 ? 'Bullisch' : 'Bärisch';
echo "Kerze {$index}: Closing Marubozu erkannt ({$typ}, Signal: {$signal})" . PHP_EOL;
}
}
}
Kombination mit Datumsstempeln für eine vollständige Analyse
<?php
// OHLC-Daten mit zugehörigen Datumsangaben
$dates = ['2024-01-01', '2024-01-02', '2024-01-03', '2024-01-04', '2024-01-05'];
$open = [200.0, 198.0, 197.5, 195.0, 196.0];
$high = [202.0, 199.0, 198.0, 196.0, 197.5];
$low = [195.0, 195.0, 194.0, 192.0, 192.0]; // close == low => bärisches Closing Marubozu
$close = [196.0, 195.0, 194.0, 192.0, 192.0];
$result = trader_cdlclosingmarubozu($open, $high, $low, $close);
if (is_array($result)) {
foreach ($result as $i => $signal) {
if ($signal !== 0) {
$richtung = $signal > 0 ? 'Bullisch' : 'Bärisch';
echo "{$dates[$i]}: Closing Marubozu ({$richtung})" . PHP_EOL;
}
}
}
// Wichtig · Fallstricke
Voraussetzung: Die Funktion steht nur zur Verfügung, wenn die PECL-Erweiterung trader installiert und aktiviert ist (pecl install trader). Ohne diese Erweiterung ist die Funktion nicht definiert.
Array-Länge: Alle vier Eingabe-Arrays ($open, $high, $low, $close) müssen dieselbe Länge besitzen. Unterschiedliche Längen können zu false oder unerwarteten Ergebnissen führen.
Lookback-Zeitraum: Die TA-Lib benötigt intern eine Mindestanzahl an Datenpunkten. Die ersten Elemente des Rückgabe-Arrays können daher 0 sein, auch wenn die Kerze theoretisch ein Muster darstellt. Mit trader_cdlclosingmarubozu_lookback() lässt sich der genaue Lookback-Wert ermitteln (sofern vorhanden).
Genauigkeit: Die Erkennung basiert auf internen Toleranzwerten der TA-Lib. Geringfügige Abweichungen zwischen Close und High/Low können dazu führen, dass das Muster nicht erkannt wird.