Signatur
Beschreibung
Die Funktion trader_cdlhighwave() gehört zur PECL-Erweiterung Trader, die auf der TA-Lib (Technical Analysis Library) basiert. Sie analysiert Kerzendiagramm-Daten (Candlestick-Daten) und identifiziert das sogenannte High-Wave-Muster – einen Kerzentyp mit einem sehr kleinen Körper und extrem langen Ober- und Unterschatten, der auf ausgeprägte Marktunsicherheit oder Volatilität hinweist.
Das High-Wave-Muster tritt auf, wenn Eröffnungs- und Schlusskurs nah beieinander liegen, aber sowohl der obere als auch der untere Schatten sehr lang sind. Dies signalisiert, dass weder Käufer noch Verkäufer die Kontrolle über den Markt haben. Es handelt sich um ein neutrales Muster, das häufig als Warnsignal für eine mögliche Trendumkehr oder Konsolidierungsphase interpretiert wird.
Der Rückgabewert für jeden Datenpunkt ist 100 (bullish), -100 (bearish) oder 0 (kein Muster erkannt). Die Arrays müssen gleich lang sein und chronologisch geordnete OHLC-Kursdaten enthalten. Beachte, dass die ersten Elemente des Ergebnis-Arrays aufgrund der internen Berechnungsperiode möglicherweise den Wert 0 haben.
Diese Funktion eignet sich besonders für den Einsatz in automatisierten Handelssystemen oder technischen Analyse-Pipelines, die Candlestick-Muster systematisch erkennen und auswerten sollen.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $open Pflicht | array | Array mit den Eröffnungskursen (Open) der Kerzen in chronologischer Reihenfolge. | |
| $high Pflicht | array | Array mit den Höchstkursen (High) der Kerzen in chronologischer Reihenfolge. | |
| $low Pflicht | array | Array mit den Tiefstkursen (Low) der Kerzen in chronologischer Reihenfolge. | |
| $close Pflicht | array | Array mit den Schlusskursen (Close) der Kerzen in chronologischer Reihenfolge. |
Rückgabewert
100 für ein bullishes High-Wave-Muster, -100 für ein bearishes High-Wave-Muster und 0 wenn kein Muster erkannt wurde. Im Fehlerfall (z. B. bei unterschiedlich langen Eingabe-Arrays oder fehlender Trader-Erweiterung) wird false zurückgegeben.Beispiele
Grundlegende Mustererkennung auf Kursdaten
<?php
// OHLC-Kursdaten (Open, High, Low, Close)
$open = [100.0, 101.5, 99.0, 102.0, 100.5];
$high = [110.0, 112.0, 111.5, 113.0, 114.0];
$low = [ 90.0, 89.5, 88.0, 91.0, 87.0];
$close = [101.0, 100.5, 100.0, 101.5, 101.0];
$result = trader_cdlhighwave($open, $high, $low, $close);
if ($result === false) {
echo "Fehler bei der Berechnung oder Trader-Erweiterung nicht verfügbar.";
} else {
foreach ($result as $index => $value) {
if ($value !== 0) {
$richtung = $value > 0 ? 'Bullish' : 'Bearish';
echo "Kerze $index: High-Wave-Muster erkannt ($richtung, Wert: $value)\n";
} else {
echo "Kerze $index: Kein Muster\n";
}
}
}
Filterung aller erkannten High-Wave-Kerzen aus einem Datensatz
<?php
// Größerer Datensatz mit OHLC-Werten
$open = [50.0, 51.0, 49.5, 52.0, 50.5, 53.0, 51.5];
$high = [60.0, 61.5, 62.0, 63.0, 64.5, 65.0, 66.0];
$low = [40.0, 39.5, 38.0, 41.0, 37.5, 42.0, 39.0];
$close = [51.0, 50.5, 50.0, 51.5, 51.0, 52.5, 52.0];
$muster = trader_cdlhighwave($open, $high, $low, $close);
if ($muster !== false) {
$erkannt = array_filter($muster, fn($v) => $v !== 0);
if (empty($erkannt)) {
echo "Keine High-Wave-Muster im Datensatz gefunden.\n";
} else {
echo "Gefundene High-Wave-Muster:\n";
foreach ($erkannt as $idx => $wert) {
echo " - Index $idx: " . ($wert > 0 ? 'Bullish' : 'Bearish') . " ($wert)\n";
}
}
} else {
echo "Fehler bei der Berechnung.\n";
}
// Wichtig · Fallstricke
Voraussetzung: Die trader-PECL-Erweiterung muss installiert und aktiviert sein (pecl install trader). Sie ist nicht Teil des PHP-Kerns.
Alle vier Eingabe-Arrays (open, high, low, close) müssen exakt gleich lang sein und numerisch indiziert vorliegen. Andernfalls gibt die Funktion false zurück.
Das Ergebnis-Array hat grundsätzlich dieselbe Länge wie die Eingabe-Arrays. Die ersten Elemente können aufgrund der internen Lookback-Periode den Wert 0 enthalten, auch wenn dort rechnerisch ein Muster vorliegen könnte.
Das High-Wave-Muster allein ist kein starkes Handelssignal und sollte stets in Kombination mit anderen Indikatoren (z. B. Volumen, Trendanalyse) interpretiert werden.