Signatur
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
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";
}
}
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";
}
// 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.