Start · Sprachen · PHP · Referenz · trader_cdlharamicross

trader_cdlharamicross

Funktion

Erkennt das <code>Harami Cross</code>-Candlestick-Muster in OHLC-Kursdaten und gibt ein Array mit Signalwerten zurück.

Kategorie: math

Signatur

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

Beschreibung

Die Funktion trader_cdlharamicross() gehört zur TRADER-Erweiterung für PHP (basierend auf TA-Lib) und erkennt das japanische Candlestick-Muster Harami Cross. Dieses Muster besteht aus zwei Kerzen: einer großen Kerze gefolgt von einem Doji (Eröffnungs- und Schlusskurs nahezu identisch), der vollständig innerhalb des Körpers der vorigen Kerze liegt. Es gilt als potenzielles Trendumkehrsignal.

Das Harami-Cross-Muster ist eine Variante des klassischen Harami-Musters, bei dem die zweite Kerze zwingend ein Doji sein muss. Ein bullisches Harami Cross erscheint in einem Abwärtstrend und signalisiert eine mögliche Aufwärtswende, während ein bärisches Harami Cross in einem Aufwärtstrend eine Abwärtswende andeuten kann.

Die Funktion gibt für jeden Datenpunkt einen ganzzahligen Wert zurück: 100 für ein bullisches Signal, -100 für ein bärisches Signal und 0 für kein Muster. Die ersten Elemente des Rückgabe-Arrays können 0 sein, da TA-Lib einen Vorlaufzeitraum (lookback) benötigt.

Typische Einsatzbereiche sind algorithmisches Trading, technische Analyse von Börsendaten und die Entwicklung von Handelsstrategien in PHP-basierten Finanzanwendungen.

Parameter

Name Typ Default Beschreibung
$open Pflicht array Numerisch indiziertes Array mit den Eröffnungskursen (Open) der Kerzen in chronologischer Reihenfolge.
$high Pflicht array Numerisch indiziertes Array mit den Höchstkursen (High) der Kerzen in chronologischer Reihenfolge.
$low Pflicht array Numerisch indiziertes Array mit den Tiefstkursen (Low) der Kerzen in chronologischer Reihenfolge.
$close Pflicht array Numerisch indiziertes Array mit den Schlusskursen (Close) der Kerzen in chronologischer Reihenfolge.

Rückgabewert

Typ
array|false
Beschreibung
Gibt bei Erfolg ein Array mit ganzzahligen Signalwerten zurück: 100 (bullisches Harami Cross), -100 (bärisches Harami Cross) oder 0 (kein Muster). Bei einem Fehler wird false zurückgegeben. Die Länge des Arrays entspricht der Länge der Eingabe-Arrays; die ersten Elemente können aufgrund des TA-Lib-Vorlaufzeitraums 0 sein.

Beispiele

Einfache Erkennung des Harami-Cross-Musters

<?php
// Beispiel-OHLC-Daten (z. B. Tageskerzen einer Aktie)
$open  = [44.34, 43.61, 44.33, 44.83, 45.10, 44.50, 44.30, 44.29];
$high  = [44.84, 44.33, 44.83, 45.10, 45.25, 44.95, 44.60, 44.40];
$low   = [43.61, 43.00, 43.61, 44.33, 44.50, 44.25, 44.20, 44.28];
$close = [43.61, 44.33, 44.83, 45.10, 44.50, 44.30, 44.29, 44.30];

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

if ($result === false) {
    echo "Fehler bei der Mustererkennung.\n";
} else {
    foreach ($result as $index => $signal) {
        if ($signal !== 0) {
            $typ = ($signal > 0) ? 'Bullisch' : 'Bärisch';
            echo "Index {$index}: {$typ} Harami Cross erkannt (Wert: {$signal})\n";
        }
    }
    if (max(array_map('abs', $result)) === 0) {
        echo "Kein Harami-Cross-Muster in den Daten gefunden.\n";
    }
}
Kein Harami-Cross-Muster in den Daten gefunden.

Integration in eine Trading-Signalanalyse

<?php
// Simulierte OHLC-Daten mit einem typischen bärischen Harami Cross
// Große bullische Kerze gefolgt von einem Doji innerhalb des Körpers
$open  = [10.00, 10.50, 11.00, 12.00, 11.50, 11.49];
$high  = [10.60, 11.00, 11.50, 12.50, 11.55, 11.52];
$low   = [9.90,  10.40, 10.90, 11.90, 11.45, 11.47];
$close = [10.50, 10.90, 11.80, 11.50, 11.49, 11.50];

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

if (is_array($signals)) {
    $letzterSignal = end($signals);
    $letzterIndex  = key($signals);

    if ($letzterSignal === 100) {
        echo "Letztes Signal (Index {$letzterIndex}): Bullisches Harami Cross — mögliche Aufwärtswende!\n";
    } elseif ($letzterSignal === -100) {
        echo "Letztes Signal (Index {$letzterIndex}): Bärisches Harami Cross — mögliche Abwärtswende!\n";
    } else {
        echo "Kein Harami-Cross-Signal am letzten Datenpunkt.\n";
    }
}
Kein Harami-Cross-Signal am letzten Datenpunkt.

// Wichtig · Fallstricke

Voraussetzung: Die PHP-TRADER-Erweiterung muss installiert und aktiviert sein (pecl install trader). Sie ist nicht im PHP-Kern enthalten.

Array-Längen: Alle vier Eingabe-Arrays (open, high, low, close) müssen dieselbe Länge haben, andernfalls wird false zurückgegeben.

Vorlaufzeitraum: TA-Lib benötigt für dieses Muster einen internen Vorlaufzeitraum (lookback period). Die ersten Elemente des Ergebnis-Arrays sind daher 0 und stellen keine echten Signale dar.

Signalstärke: Der Rückgabewert 100 bzw. -100 ist ein konventioneller Wert von TA-Lib und repräsentiert keine prozentuale Wahrscheinlichkeit. Das Muster sollte stets in Kombination mit weiteren Indikatoren und dem übergeordneten Trend bewertet werden.