Start · Sprachen · PHP · Referenz · trader_cdlseparatinglines

trader_cdlseparatinglines

Funktion

Erkennt das Separating-Lines-Candlestick-Muster in OHLC-Kursdaten und gibt ein Array mit Signalwerten zurück.

Kategorie: math

Signatur

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

Beschreibung

Die Funktion trader_cdlseparatinglines() ist Teil der PECL-Erweiterung Trader und implementiert die technische Analyse-Funktion zur Erkennung des Separating Lines-Musters (Trennlinien-Muster) in Candlestick-Charts. Dieses Muster besteht aus zwei Kerzen, bei denen die zweite Kerze zum gleichen Eröffnungskurs wie die erste startet, aber in entgegengesetzter Richtung verläuft.

Das Separating-Lines-Muster gilt als Fortsetzungssignal: Tritt es in einem Aufwärtstrend auf (bullish), bestätigt es die Aufwärtsbewegung; in einem Abwärtstrend (bearish) signalisiert es die Fortsetzung des Rückgangs. Die erste Kerze läuft gegen den Trend, während die zweite Kerze mit identischem Eröffnungskurs wieder in Trendrichtung verläuft.

Der Rückgabewert ist ein Array, dessen Werte je Element entweder 100 (bullish), -100 (bearish) oder 0 (kein Muster erkannt) sein können. Die Indizes des Ergebnis-Arrays entsprechen den Indizes der Eingabe-Arrays. Die ersten Elemente können 0 sein, da für die Musterberechnung ein gewisser Vorlauf benötigt wird.

Diese Funktion ist besonders hilfreich in der algorithmischen Handelsstrategie, wenn Fortsetzungssignale in bestehenden Trends automatisch erkannt werden sollen. Sie wird typischerweise mit anderen technischen Indikatoren kombiniert, um Fehlsignale zu reduzieren.

Parameter

Name Typ Default Beschreibung
$open Pflicht array Array der Eröffnungskurse (Open-Preise) als numerisch indiziertes Array mit float-Werten.
$high Pflicht array Array der Tageshöchstkurse (High-Preise) als numerisch indiziertes Array mit float-Werten.
$low Pflicht array Array der Tagestiefstkurse (Low-Preise) als numerisch indiziertes Array mit float-Werten.
$close Pflicht array Array der Schlusskurse (Close-Preise) als numerisch indiziertes Array mit float-Werten.

Rückgabewert

Typ
array|false
Beschreibung
Gibt ein Array zurück, dessen Werte für jeden Zeitpunkt 100 (bullishes Separating-Lines-Muster erkannt), -100 (bearishes Muster erkannt) oder 0 (kein Muster) enthalten. Bei einem Fehler (z. B. ungültige Eingabedaten oder Erweiterung nicht verfügbar) wird false zurückgegeben.

Beispiele

Grundlegende Erkennung des Separating-Lines-Musters

<?php
// OHLC-Kursdaten (z. B. Tageskerzen)
$open  = [100.0, 105.0, 103.0, 107.0, 102.0];
$high  = [108.0, 110.0, 109.0, 112.0, 108.0];
$low   = [98.0,  102.0, 100.0, 104.0, 99.0];
$close = [106.0, 104.0, 107.0, 103.0, 107.0];

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

if ($result === false) {
    echo "Fehler bei der Berechnung oder Trader-Erweiterung nicht verfügbar.";
} else {
    foreach ($result as $index => $signal) {
        if ($signal === 100) {
            echo "Index $index: Bullishes Separating-Lines-Muster erkannt!\n";
        } elseif ($signal === -100) {
            echo "Index $index: Bearishes Separating-Lines-Muster erkannt!\n";
        }
    }
    if (array_sum(array_map('abs', $result)) === 0) {
        echo "Kein Separating-Lines-Muster in den Daten gefunden.\n";
    }
}
Kein Separating-Lines-Muster in den Daten gefunden.

Kombination mit Trendfilter für Handelssignale

<?php
// Realitätsnahe Nutzung: Muster nur im Kontext eines Trends auswerten
$open  = array_map('floatval', [50.0, 52.0, 51.0, 52.0, 51.0, 53.0, 52.0, 53.0]);
$high  = array_map('floatval', [54.0, 55.0, 54.0, 55.0, 54.0, 56.0, 55.0, 56.0]);
$low   = array_map('floatval', [49.0, 51.0, 50.0, 51.0, 50.0, 52.0, 51.0, 52.0]);
$close = array_map('floatval', [52.0, 51.0, 52.0, 51.0, 53.0, 52.0, 53.0, 52.0]);

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

if (is_array($signals)) {
    foreach ($signals as $i => $val) {
        $label = match(true) {
            $val > 0  => 'BULLISH',
            $val < 0  => 'BEARISH',
            default   => 'neutral',
        };
        echo "Kerze $i: Signal = $val ($label)\n";
    }
} else {
    echo "Berechnung fehlgeschlagen.\n";
}
Kerze 0: Signal = 0 (neutral) Kerze 1: Signal = 0 (neutral) Kerze 2: Signal = 0 (neutral) Kerze 3: Signal = 0 (neutral) Kerze 4: Signal = 0 (neutral) Kerze 5: Signal = 0 (neutral) Kerze 6: Signal = 0 (neutral) Kerze 7: Signal = 0 (neutral)

// Wichtig · Fallstricke

Voraussetzung: Die Funktion ist nur verfügbar, wenn die PECL-Erweiterung trader installiert und geladen ist. Ohne diese Erweiterung existiert die Funktion nicht und führt zu einem fatalen Fehler.

Eingabe-Konsistenz: Alle vier Arrays (open, high, low, close) müssen dieselbe Anzahl an Elementen haben und numerisch indiziert sein. Unterschiedliche Längen oder ungültige Werte können zu false als Rückgabewert führen.

Lookback-Periode: Die ersten Einträge im Ergebnis-Array können 0 sein, da das Muster einen Mindestzeitraum (Lookback) für die Berechnung benötigt. Diese Einträge sollten bei der Auswertung ignoriert werden.

Keine Handelsberatung: Die Ergebnisse dieser Funktion sind rein technischer Natur und stellen keine Anlage- oder Handelsberatung dar. Candlestick-Muster sollten immer im Kontext weiterer Indikatoren und einer umfassenden Marktanalyse betrachtet werden.