Start · Sprachen · PHP · Referenz · trader_cdllongline

trader_cdllongline

Funktion

Erkennt das Long-Line-Candlestick-Muster in OHLC-Kursdaten und gibt ein Array mit Mustererkennung-Werten zurück.

Kategorie: math

Signatur

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

Beschreibung

trader_cdllongline ist Teil der TRADER-Erweiterung für PHP, die auf der TA-Lib (Technical Analysis Library) basiert. Die Funktion analysiert Candlestick-Daten (Open, High, Low, Close) und erkennt das sogenannte Long Line-Muster – eine Kerze mit einem vergleichsweise langen Körper (Body) ohne oder mit sehr kurzen Dochten.

Das Long-Line-Muster tritt auf, wenn der Körper einer Kerze (Differenz zwischen Open und Close) im Verhältnis zur durchschnittlichen Körperlänge der vorangegangenen Perioden besonders lang ist. Es kann sowohl bullisch (grüne/weiße Kerze) als auch bearisch (rote/schwarze Kerze) auftreten und deutet auf eine starke Preisbewegung in die jeweilige Richtung hin.

Die Funktion gibt ein Array zurück, dessen Werte 100 (bullisches Muster), -100 (bearisches Muster) oder 0 (kein Muster erkannt) sein können. Die ersten Elemente des Rückgabe-Arrays sind in der Regel 0, da für die Mustererkennung ein Lookback-Zeitraum benötigt wird.

Diese Funktion eignet sich für technische Marktanalysen, etwa um Einstiegs- oder Ausstiegssignale in Trading-Systemen zu generieren oder Candlestick-Muster automatisiert zu klassifizieren.

Parameter

Name Typ Default Beschreibung
$open Pflicht array Array der Eröffnungskurse (Opening Prices) als numerisch indiziertes Array von Fließkommazahlen.
$high Pflicht array Array der Tageshöchstkurse (High Prices) als numerisch indiziertes Array von Fließkommazahlen.
$low Pflicht array Array der Tagestiefstkurse (Low Prices) als numerisch indiziertes Array von Fließkommazahlen.
$close Pflicht array Array der Schlusskurse (Closing Prices) als numerisch indiziertes Array von Fließkommazahlen.

Rückgabewert

Typ
array|false
Beschreibung
Gibt ein Array mit ganzzahligen Werten zurück: 100 für ein erkanntes bullisches Long-Line-Muster, -100 für ein bearisches, 0 wenn kein Muster vorliegt. Bei einem Fehler (z. B. fehlerhafte Eingabedaten oder unterschiedliche Array-Längen) wird false zurückgegeben.

Beispiele

Grundlegende Erkennung des Long-Line-Musters

<?php
// Beispiel-OHLC-Daten (z. B. Tageskerzen)
$open  = [100.0, 102.0, 101.0, 103.0, 98.0,  90.0];
$high  = [105.0, 107.0, 106.0, 108.0, 103.0, 95.0];
$low   = [99.0,  101.0, 100.0, 102.0, 97.0,  85.0];
$close = [104.0, 103.0, 105.0, 104.0, 99.0,  86.0];

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

if ($result === false) {
    echo "Fehler bei der Mustererkennung.\n";
} else {
    foreach ($result as $index => $value) {
        if ($value !== 0) {
            $typ = $value > 0 ? 'Bullisch' : 'Bearisch';
            echo "Index $index: Long-Line-Muster erkannt ($typ, Wert: $value)\n";
        } else {
            echo "Index $index: Kein Muster (0)\n";
        }
    }
}
Index 0: Kein Muster (0) Index 1: Kein Muster (0) Index 2: Kein Muster (0) Index 3: Kein Muster (0) Index 4: Kein Muster (0) Index 5: Long-Line-Muster erkannt (Bearisch, Wert: -100)

Integration in eine einfache Trading-Signal-Analyse

<?php
// Realistischere OHLC-Daten über mehrere Tage
$open  = [200.0, 201.5, 199.0, 202.0, 198.0, 210.0, 195.0, 185.0];
$high  = [205.0, 206.0, 204.0, 207.0, 203.0, 215.0, 200.0, 190.0];
$low   = [198.0, 199.5, 197.0, 200.0, 196.0, 208.0, 180.0, 183.0];
$close = [203.0, 200.0, 203.0, 201.0, 202.0, 214.0, 181.0, 184.0];

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

if ($result !== false) {
    $signale = array_filter($result, fn($v) => $v !== 0);
    if (empty($signale)) {
        echo "Keine Long-Line-Muster im Datensatz gefunden.\n";
    } else {
        foreach ($signale as $idx => $wert) {
            echo sprintf(
                "Tag %d: %s Long-Line-Kerze (Signal: %d)\n",
                $idx,
                $wert > 0 ? 'Bullische' : 'Bearische',
                $wert
            );
        }
    }
}
Tag 6: Bearische Long-Line-Kerze (Signal: -100)

// Wichtig · Fallstricke

Voraussetzung: Die PHP-TRADER-Erweiterung muss installiert und aktiviert sein (pecl install trader). Ohne diese Erweiterung ist die Funktion nicht verfügbar.

Alle vier Arrays ($open, $high, $low, $close) müssen dieselbe Länge haben und numerisch indiziert sein. Bei unterschiedlichen Längen oder ungültigen Daten gibt die Funktion false zurück.

Das Rückgabe-Array hat weniger Elemente als die Eingabe-Arrays, da TA-Lib intern einen sogenannten Lookback-Zeitraum benötigt. Die ersten Elemente im Rückgabe-Array entsprechen nicht zwingend Index 0 der Eingabedaten – prüfe die Array-Schlüssel sorgfältig.

Ein Long-Line-Muster alleine ist kein verlässliches Handelssignal. Es sollte stets in Kombination mit anderen Indikatoren und dem Marktkontext interpretiert werden.