Signatur
Beschreibung
trader_cdlsticksandwich() ist Teil der TRADER-Erweiterung für PHP, die auf der TA-Lib-Bibliothek basiert. Die Funktion analysiert OHLC-Kursdaten (Open, High, Low, Close) und erkennt das Stick Sandwich-Muster, ein dreikerziges Candlestick-Muster aus der technischen Analyse.
Das Stick-Sandwich-Muster besteht aus zwei schwarzen (fallenden) Kerzen, die eine weiße (steigende) Kerze umschließen, wobei die erste und dritte Kerze nahezu identische Schlusskurse aufweisen. Dieses Muster wird als bullisches Umkehrsignal interpretiert: Die Bären versuchen zweimal, den Kurs zu drücken, scheitern jedoch daran, neue Tiefststände zu halten, was auf eine mögliche Trendwende nach oben hindeutet.
Der Rückgabewert ist ein Integer-Array in derselben Länge wie die Eingabedaten. Positive Werte (typischerweise 100) zeigen ein erkanntes bullisches Muster an, negative Werte ein bearisches Muster, und 0 bedeutet, dass kein Muster für diese Periode erkannt wurde. Die ersten Elemente des Arrays sind aufgrund des Lookback-Zeitraums mit 0 gefüllt.
Die Funktion wird typischerweise in Handelssystemen oder Chartanalyse-Tools eingesetzt, um automatisch potenzielle Umkehrpunkte in Kurszeitreihen zu identifizieren.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $open Pflicht | array | Array der Eröffnungskurse (numerisch indiziert, chronologisch geordnet). | |
| $high Pflicht | array | Array der Höchstkurse (numerisch indiziert, chronologisch geordnet). | |
| $low Pflicht | array | Array der Tiefstkurse (numerisch indiziert, chronologisch geordnet). | |
| $close Pflicht | array | Array der Schlusskurse (numerisch indiziert, chronologisch geordnet). |
Rückgabewert
100 für ein bullisches Muster, 0 für kein Muster. Im Fehlerfall (z. B. unterschiedliche Array-Längen oder fehlende TRADER-Erweiterung) wird false zurückgegeben.Beispiele
Erkennung des Stick-Sandwich-Musters in Kursdaten
<?php
// Beispielhafte OHLC-Daten (z. B. Tageskerzen)
$open = [44.0, 43.0, 44.5, 43.8, 44.2];
$high = [45.0, 44.5, 45.5, 45.0, 45.3];
$low = [43.5, 42.0, 43.8, 42.5, 43.6];
$close = [43.2, 44.0, 43.3, 44.1, 43.2];
$result = trader_cdlsticksandwich($open, $high, $low, $close);
if ($result === false) {
echo 'Fehler bei der Mustererkennung oder TRADER-Erweiterung nicht verfügbar.';
} else {
foreach ($result as $index => $value) {
if ($value !== 0) {
echo "Stick-Sandwich-Muster erkannt an Position $index: Wert = $value\n";
}
}
if (max($result) === 0 && min($result) === 0) {
echo "Kein Stick-Sandwich-Muster in den gegebenen Daten gefunden.\n";
}
}
Integration in eine Kursscan-Schleife
<?php
// Simulierte historische Kursdaten für mehrere Symbole
$symbols = [
'AAPL' => [
'open' => [150.0, 148.0, 151.0, 149.5, 148.8],
'high' => [152.0, 150.5, 153.0, 151.0, 150.5],
'low' => [148.5, 147.0, 149.5, 148.0, 147.5],
'close' => [149.0, 151.0, 149.2, 150.8, 149.0],
],
];
foreach ($symbols as $symbol => $data) {
$result = trader_cdlsticksandwich(
$data['open'],
$data['high'],
$data['low'],
$data['close']
);
if ($result === false) {
echo "Fehler bei $symbol\n";
continue;
}
$lastValue = end($result);
if ($lastValue > 0) {
echo "$symbol: Bullisches Stick-Sandwich-Muster in der letzten Periode erkannt!\n";
} elseif ($lastValue < 0) {
echo "$symbol: Bearisches Stick-Sandwich-Muster erkannt.\n";
} else {
echo "$symbol: Kein Muster in der letzten Periode.\n";
}
}
// Wichtig · Fallstricke
Voraussetzung: Die Funktion ist nur verfügbar, wenn die PHP-TRADER-Erweiterung (pecl install trader) installiert und in der php.ini aktiviert ist. Sie ist nicht Teil der PHP-Standardinstallation.
Array-Längen: Alle vier Eingabe-Arrays (open, high, low, close) müssen exakt dieselbe Länge haben. Unterschiedliche Längen führen zu false als Rückgabewert.
Lookback-Zeitraum: Das Stick-Sandwich-Muster benötigt mindestens 3 Kerzen. Die ersten Einträge im Ergebnis-Array sind daher immer 0 und repräsentieren keinen Musterfund, sondern fehlende Vorgänger-Daten.
Interpretation: Ein Rückgabewert von 100 ist kein Handelssignal an sich, sondern lediglich ein Hinweis auf das Vorliegen des Musters. Kombinieren Sie die Erkennung stets mit weiteren Indikatoren und Risikomanagement-Überlegungen.