Start · Sprachen · PHP · Referenz · trader_cdlkickingbylength

trader_cdlkickingbylength

Funktion

Erkennt das Kicking-Candlestick-Muster, bei dem die Richtung durch den längeren Marubozu bestimmt wird.

Kategorie: math

Signatur

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

Beschreibung

Die Funktion trader_cdlkickingbylength() 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 sogenannte Kicking by Length-Candlestick-Muster.

Das Kicking-Muster ist ein starkes Umkehrsignal in der Candlestick-Analyse und besteht aus zwei aufeinanderfolgenden Marubozu-Kerzen (Kerzen ohne Dochte/Schatten), zwischen denen eine Lücke (Gap) entsteht. Bei der Variante by Length wird die Richtung des Signals (bullisch oder bärisch) nicht durch die Farbe der zweiten Kerze, sondern durch die Länge des längeren Marubozus bestimmt: Ist der bullische Marubozu länger, ist das Signal bullisch; ist der bärische länger, ist das Signal bärisch.

Der Rückgabewert ist ein Array mit Integer-Werten: 100 steht für ein bullisches Signal, -100 für ein bärisches Signal und 0 bedeutet, dass an dieser Position kein Muster erkannt wurde. Die ersten Elemente des Arrays können den Wert 0 haben, da für die Berechnung eine gewisse Anzahl an Vorperioden (Lookback) benötigt wird.

Diese Funktion eignet sich besonders für automatisierte Handelssysteme oder die Analyse von Finanzzeitreihen in PHP, um potenzielle starke Trendwechsel zu identifizieren.

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

Typ
array|false
Beschreibung
Gibt ein Array mit Integer-Werten zurück: 100 (bullisches Kicking-Muster), -100 (bärisches Kicking-Muster) oder 0 (kein Muster erkannt). Im Fehlerfall (z. B. bei ungültigen oder ungleich langen Eingabe-Arrays) wird false zurückgegeben.

Beispiele

Einfaches Beispiel: Kicking-by-Length-Muster erkennen

<?php
// Beispiel-OHLC-Daten (z. B. Tageskerzen)
$open  = [10.0, 12.0, 9.0, 11.0, 8.0, 14.0];
$high  = [10.0, 12.0, 9.0, 11.0, 8.0, 14.0];
$low   = [8.0,  10.0, 7.0, 9.0,  6.0, 12.0];
$close = [8.0,  10.0, 7.0, 9.0,  6.0, 12.0];

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

if ($result === false) {
    echo 'Fehler bei der Berechnung.' . PHP_EOL;
} else {
    foreach ($result as $index => $value) {
        if ($value !== 0) {
            $richtung = $value > 0 ? 'Bullisch' : 'Bärisch';
            echo "Kerze {$index}: Kicking-by-Length erkannt – {$richtung} ({$value})" . PHP_EOL;
        }
    }
    if (!in_array(true, array_map(fn($v) => $v !== 0, $result))) {
        echo 'Kein Kicking-by-Length-Muster erkannt.' . PHP_EOL;
    }
}
Kein Kicking-by-Length-Muster erkannt.

Muster in historischen Kursdaten suchen und ausgeben

<?php
// Simulierte historische OHLC-Daten (Marubozu-Kerzen ohne Schatten)
$open  = [100.0, 98.0,  95.0,  97.0,  105.0, 103.0];
$high  = [102.0, 98.0,  95.0,  97.0,  107.0, 103.0];
$low   = [100.0, 94.0,  91.0,  93.0,  105.0, 99.0];
$close = [102.0, 94.0,  91.0,  93.0,  107.0, 99.0];

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

echo 'Ergebnisse:' . PHP_EOL;
foreach ($result as $i => $val) {
    $label = match($val) {
        100    => '✓ Bullisches Kicking-by-Length',
        -100   => '✓ Bärisches Kicking-by-Length',
        default => 'Kein Muster',
    };
    echo "Index {$i}: {$label}" . PHP_EOL;
}
Ergebnisse: 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

Alle vier Arrays (open, high, low, close) müssen dieselbe Länge haben, andernfalls gibt die Funktion false zurück.

Das Ergebnis-Array hat dieselbe Länge wie die Eingabe-Arrays. Die ersten Elemente enthalten 0, da für die Mustererkennung ein Lookback-Zeitraum benötigt wird. Dieser kann mit trader_cdlkickingbylength_lookback() abgefragt werden, sofern diese Hilfsfunktion verfügbar ist.

Die Funktion setzt die TRADER PHP-Erweiterung voraus (pecl install trader). Sie ist nicht im PHP-Kern enthalten und muss separat installiert und in der php.ini aktiviert werden.

Unterschied zu trader_cdlkicking(): Bei trader_cdlkicking() bestimmt die Farbe der zweiten Kerze die Signalrichtung, während hier der längere der beiden Marubozus ausschlaggebend ist.