Start · Sprachen · PHP · Referenz · trader_cdlsticksandwich

trader_cdlsticksandwich

Funktion

Erkennt das Stick-Sandwich-Candlestick-Muster in Kursdaten und gibt ein Array mit Musterwerten zurück.

Kategorie: math

Signatur

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

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

Typ
array|false
Beschreibung
Gibt ein Integer-Array zurück, das für jede Periode angibt, ob das Stick-Sandwich-Muster erkannt wurde: 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";
    }
}
Kein Stick-Sandwich-Muster in den gegebenen Daten gefunden.

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";
    }
}
AAPL: Kein Muster in der letzten Periode.

// 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.