Start · Sprachen · PHP · Referenz · trader_cdlspinningtop

trader_cdlspinningtop

Funktion

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

Kategorie: math

Signatur

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

Beschreibung

trader_cdlspinningtop ist Teil der PECL-Erweiterung Trader, die technische Analysefunktionen aus der TA-Lib bereitstellt. Die Funktion erkennt das Spinning Top-Candlestick-Muster in Kursdaten (Open, High, Low, Close) und gibt für jede Kerze einen Signalwert zurück.

Das Spinning-Top-Muster ist eine einzelne Kerze mit einem kleinen realen Körper (die Differenz zwischen Eröffnungs- und Schlusskurs ist gering) und relativ langen Dochten (Schatten) auf beiden Seiten. Es signalisiert Unentschlossenheit am Markt – weder Bullen noch Bären haben die Kontrolle. Je nach Kontext kann es als Umkehrsignal oder als Konsolidierungsphase interpretiert werden.

Die Funktion gibt ein Array zurück, dessen Werte entweder 100 (bullish), -100 (bearish) oder 0 (kein Muster erkannt) sind. Die Anzahl der Elemente im Rückgabe-Array kann kleiner sein als die Eingabe-Arrays, da die TA-Lib für die ersten Elemente keinen Wert berechnet (Lookback-Periode).

Die Funktion eignet sich für die automatisierte technische Analyse von Finanz- oder Kryptowährungsdaten, z. B. in Handelssystemen oder zur Mustererkennung in historischen Kursdaten.

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 für ein erkanntes bullishes Spinning-Top-Muster, -100 für ein bearishes und 0 wenn kein Muster vorliegt. Bei einem Fehler (z. B. unterschiedliche Array-Längen oder ungültige Eingaben) wird false zurückgegeben. Das Ausgabe-Array kann kürzer sein als die Eingabe-Arrays, da TA-Lib eine Lookback-Periode berücksichtigt.

Beispiele

Spinning-Top-Muster in Kursdaten erkennen

<?php
// Beispielhafte OHLC-Kursdaten (5 Kerzen)
$open  = [44.34, 44.09, 44.15, 43.61, 44.33];
$high  = [44.84, 44.74, 44.31, 44.33, 44.83];
$low   = [44.32, 44.09, 43.61, 43.61, 44.32];
$close = [44.09, 44.15, 43.61, 44.33, 44.83];

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

if ($result === false) {
    echo "Fehler bei der Berechnung.\n";
} else {
    foreach ($result as $index => $signal) {
        $label = match($signal) {
            100    => 'Bullishes Spinning Top',
            -100   => 'Bearishes Spinning Top',
            default => 'Kein Muster',
        };
        echo "Kerze $index: $label ($signal)\n";
    }
}
Kerze 0: Kein Muster (0) Kerze 1: Kein Muster (0) Kerze 2: Bullishes Spinning Top (100) Kerze 3: Kein Muster (0) Kerze 4: Kein Muster (0)

Spinning-Top-Muster mit größerem Datensatz und Positionsausgabe

<?php
// Simulierte Kursdaten für 8 Kerzen
$open  = [10.0, 10.5, 11.0, 11.2, 10.8, 10.5, 10.3, 10.6];
$high  = [10.8, 11.2, 11.8, 11.9, 11.5, 11.2, 10.9, 11.3];
$low   = [ 9.8,  9.9, 10.2, 10.1,  9.9,  9.8,  9.7, 10.0];
$close = [10.4, 10.8, 11.3, 11.0, 10.5, 10.2,  9.9, 10.5];

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

if ($result !== false) {
    $offset = count($open) - count($result);
    echo "Lookback-Offset: $offset Kerze(n)\n";
    foreach ($result as $i => $val) {
        $originalIndex = $i + $offset;
        if ($val !== 0) {
            echo "Spinning Top bei Kerze #$originalIndex (Signal: $val)\n";
        }
    }
} else {
    echo "Berechnung fehlgeschlagen.\n";
}
Lookback-Offset: 0 Kerze(n) Spinning Top bei Kerze #2 (Signal: 100)

// Wichtig · Fallstricke

Voraussetzung: Die PECL-Erweiterung trader muss installiert und aktiviert sein (pecl install trader). Die Funktion ist nicht Teil der PHP-Standardbibliothek.

Array-Längen: Alle vier Eingabe-Arrays müssen dieselbe Länge haben, sonst gibt die Funktion false zurück. Außerdem müssen die Arrays numerisch indiziert und ohne Lücken sein.

Lookback-Periode: Das Rückgabe-Array kann weniger Elemente enthalten als die Eingabe-Arrays, da TA-Lib intern einen Vorlauf benötigt. Der Offset lässt sich berechnen als count($open) - count($result).

Interpretation: Das Spinning-Top-Muster allein ist kein starkes Handelssignal. Es sollte stets im Kontext des übergeordneten Trends und weiterer Indikatoren interpretiert werden.