Start · Sprachen · PHP · Referenz · trader_cdl3linestrike

trader_cdl3linestrike

Funktion

Erkennt das <code>Three-Line-Strike</code>-Candlestick-Muster in OHLC-Kursdaten und gibt ein Array mit Musterwerten zurück.

Kategorie: math

Signatur

trader_cdl3linestrike(array $open, array $high, array $low, array $close): array

Beschreibung

Die Funktion trader_cdl3linestrike() ist Teil der PECL-Erweiterung Trader und verwendet die TA-Lib-Bibliothek, um das sogenannte Three-Line-Strike-Candlestick-Muster in historischen Kursdaten zu erkennen. Das Muster besteht aus vier Kerzen: drei aufeinanderfolgenden Kerzen in eine Richtung (bullisch oder bärisch), gefolgt von einer großen Gegenkerze, die alle drei vorherigen Kerzen vollständig überspannt.

Das Ergebnis-Array enthält für jeden Zeitpunkt einen Wert: 100 für ein bullisches Muster, -100 für ein bärisches Muster und 0 wenn kein Muster erkannt wurde. Die ersten Einträge des Arrays sind üblicherweise leer oder fehlen, da die Funktion eine Mindestanzahl an Datenpunkten benötigt (lookback period).

Die Funktion eignet sich für technische Analysen im algorithmischen Handel oder in der Auswertung historischer Börsendaten. Sie kann dazu verwendet werden, potenzielle Trendumkehrpunkte zu identifizieren, da das Three-Line-Strike-Muster in der Candlestick-Analyse als Umkehrsignal interpretiert werden kann.

Voraussetzung ist die Installation der PECL-Trader-Erweiterung sowie der darunter liegenden TA-Lib-Bibliothek.

Parameter

Name Typ Default Beschreibung
$open Pflicht array Array mit den Eröffnungskursen der Kerzen als Gleitkommazahlen, indiziert von 0 bis n-1.
$high Pflicht array Array mit den Höchstkursen der Kerzen als Gleitkommazahlen, gleiche Länge wie open.
$low Pflicht array Array mit den Tiefstkursen der Kerzen als Gleitkommazahlen, gleiche Länge wie open.
$close Pflicht array Array mit den Schlusskursen der Kerzen als Gleitkommazahlen, gleiche Länge wie open.

Rückgabewert

Typ
array
Beschreibung
Gibt ein Array zurück, bei dem jeder Wert angibt, ob an der entsprechenden Position ein Three-Line-Strike-Muster erkannt wurde: 100 für bullisch, -100 für bärisch, 0 für kein Muster. Die ersten Einträge (lookback-Periode) fehlen im Ergebnis-Array. Im Fehlerfall (z. B. ungültige Eingaben) wird false zurückgegeben.

Beispiele

Grundlegende Erkennung des Three-Line-Strike-Musters

<?php
// Beispielhafte OHLC-Kursdaten (z. B. tägliche Kerzen)
$open  = [44.0, 45.5, 46.0, 47.0, 43.0, 44.5, 45.0, 46.5];
$high  = [45.5, 46.5, 47.5, 48.0, 47.5, 45.5, 46.5, 47.5];
$low   = [43.5, 44.5, 45.5, 46.5, 42.5, 43.5, 44.0, 45.5];
$close = [45.0, 46.0, 47.0, 48.0, 44.0, 45.0, 46.0, 47.0];

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

if ($result === false) {
    echo 'Fehler bei der Mustererkennung.' . PHP_EOL;
} else {
    foreach ($result as $index => $value) {
        if ($value === 100) {
            echo "Index $index: Bullisches Three-Line-Strike erkannt." . PHP_EOL;
        } elseif ($value === -100) {
            echo "Index $index: Bärisches Three-Line-Strike erkannt." . PHP_EOL;
        }
    }
    if (empty(array_filter($result))) {
        echo 'Kein Three-Line-Strike-Muster in den Daten gefunden.' . PHP_EOL;
    }
}
Kein Three-Line-Strike-Muster in den Daten gefunden.

Auswertung historischer Aktiendaten mit Mustererkennung

<?php
// Simulierte historische OHLC-Daten (z. B. aus einer Datenbank)
$ohlc = [
    ['o' => 100.0, 'h' => 105.0, 'l' => 99.0,  'c' => 104.0],
    ['o' => 104.0, 'h' => 108.0, 'l' => 103.0, 'c' => 107.0],
    ['o' => 107.0, 'h' => 111.0, 'l' => 106.0, 'c' => 110.0],
    ['o' => 110.0, 'h' => 111.0, 'l' => 100.0, 'c' => 101.0], // potenzielle Strike-Kerze
    ['o' => 101.0, 'h' => 103.0, 'l' => 99.0,  'c' => 102.0],
];

$open  = array_column($ohlc, 'o');
$high  = array_column($ohlc, 'h');
$low   = array_column($ohlc, 'l');
$close = array_column($ohlc, 'c');

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

echo 'Mustererkennung Ergebnisse:' . PHP_EOL;
foreach ($result as $idx => $val) {
    $label = match((int)$val) {
        100    => 'Bullisch',
        -100   => 'Bärisch',
        default => 'Kein Muster',
    };
    echo "  Kerze $idx: $label ($val)" . PHP_EOL;
}
Mustererkennung Ergebnisse: Kerze 3: Kein Muster (0) Kerze 4: Kein Muster (0)

// Wichtig · Fallstricke

Lookback-Periode: Die Funktion benötigt mindestens 4 Datenpunkte. Die ersten berechneten Indizes im Rückgabe-Array entsprechen nicht Index 0 der Eingabe-Arrays – es findet ein Offset statt. Vergleiche daher Indizes im Ergebnis-Array sorgfältig mit den Quelldaten.

Erweiterung erforderlich: trader_cdl3linestrike() steht nur zur Verfügung, wenn die PECL-Erweiterung trader installiert und geladen ist (extension=trader.so bzw. trader.dll). Prüfe die Verfügbarkeit mit extension_loaded('trader').

Interpretation: Das Three-Line-Strike-Muster gilt in der klassischen Candlestick-Analyse als Fortsetzungsmuster, nicht immer als Umkehrsignal. Die TA-Lib-Implementierung kann je nach Datenlage abweichende Ergebnisse liefern. Zusätzliche Indikatoren zur Bestätigung werden empfohlen.