Signatur
Beschreibung
Die Funktion trader_cdlgapsidesidewhite() ist Teil der TRADER-Erweiterung für PHP, die auf der TA-Lib (Technical Analysis Library) basiert. Sie analysiert OHLC-Kerzenchartdaten (Open, High, Low, Close) und erkennt das Up/Down-Gap-Side-by-Side-White-Lines-Muster.
Das Muster besteht aus drei Kerzen: einer langen bullischen oder bärischen Kerze, gefolgt von zwei kleineren bullischen Kerzen, die eine Lücke (Gap) zur ersten Kerze aufweisen und dabei nebeneinander auf ähnlichem Preisniveau liegen. Ein Up-Gap-Muster gilt als Fortsetzungssignal in einem Aufwärtstrend, ein Down-Gap-Muster als Fortsetzungssignal in einem Abwärtstrend.
Der Rückgabewert jedes Elements im Ausgabe-Array gibt an, ob das Muster erkannt wurde: 100 für ein bullisches Signal, -100 für ein bärisches Signal und 0 für kein erkanntes Muster. Trader und Quantitative-Analysten verwenden diese Funktion typischerweise in automatisierten Handelssystemen zur Mustererkennung.
Die Funktion erwartet, dass alle vier Eingabe-Arrays die gleiche Anzahl an Elementen enthalten und die Kursdaten chronologisch geordnet sind. Die ersten Elemente des Ausgabe-Arrays können 0 sein, da für die Mustererkennung mehrere vorherige Kerzen benötigt werden (sog. Lookback-Periode).
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $open Pflicht | array | Array der Eröffnungskurse (Open), chronologisch geordnet. | |
| $high Pflicht | array | Array der Höchstkurse (High), chronologisch geordnet. | |
| $low Pflicht | array | Array der Tiefstkurse (Low), chronologisch geordnet. | |
| $close Pflicht | array | Array der Schlusskurse (Close), chronologisch geordnet. |
Rückgabewert
100 für ein erkanntes bullisches Muster, -100 für ein bärisches Muster und 0 wenn kein Muster erkannt wurde. Das Array hat dieselbe Länge wie die Eingabe-Arrays. Bei einem Fehler (z. B. ungleiche Array-Längen) wird false zurückgegeben.Beispiele
Grundlegende Mustererkennung mit OHLC-Daten
<?php
// Beispiel-OHLC-Kursdaten (z.B. Tageskerzen)
$open = [44.0, 45.0, 46.5, 46.5, 47.0];
$high = [45.5, 46.5, 47.5, 47.5, 48.0];
$low = [43.5, 44.5, 46.0, 46.0, 46.5];
$close = [45.0, 46.0, 47.0, 47.0, 47.5];
$result = trader_cdlgapsidesidewhite($open, $high, $low, $close);
if ($result === false) {
echo 'Fehler bei der Mustererkennung.' . PHP_EOL;
} else {
foreach ($result as $index => $signal) {
if ($signal !== 0) {
$typ = ($signal === 100) ? 'Bullisch (Up-Gap)' : 'Bärisch (Down-Gap)';
echo "Kerze #{$index}: {$typ}-Muster erkannt (Wert: {$signal})" . PHP_EOL;
} else {
echo "Kerze #{$index}: Kein Muster erkannt" . PHP_EOL;
}
}
}
Kombination mehrerer Candlestick-Muster für eine Handelsstrategie
<?php
// Größerer Datensatz für eine realistische Analyse
$open = [100, 102, 105, 108, 108, 109, 110];
$high = [103, 106, 108, 112, 111, 112, 113];
$low = [ 99, 101, 104, 107, 107, 108, 109];
$close = [102, 105, 107, 111, 110, 111, 112];
$gapSide = trader_cdlgapsidesidewhite($open, $high, $low, $close);
if ($gapSide === false) {
echo 'Fehler: Ungültige Eingabedaten.' . PHP_EOL;
} else {
echo 'Gap-Side-by-Side-White-Lines Signale:' . PHP_EOL;
foreach ($gapSide as $i => $wert) {
$label = match(true) {
$wert > 0 => '↑ Bullisch',
$wert < 0 => '↓ Bärisch',
default => '– Kein Signal',
};
echo " [{$i}] Close={$close[$i]} => {$label}" . PHP_EOL;
}
}
// Wichtig · Fallstricke
Voraussetzung: Die PHP-TRADER-Erweiterung muss installiert und aktiviert sein (extension=trader in der php.ini). Sie ist nicht standardmäßig in PHP enthalten und muss über PECL installiert werden: pecl install trader.
Array-Längen: Alle vier Eingabe-Arrays müssen exakt dieselbe Anzahl an Elementen aufweisen, sonst gibt die Funktion false zurück.
Lookback-Periode: Das Muster benötigt mindestens 3 vorherige Kerzen zur Erkennung. Die ersten Elemente des Ergebnis-Arrays werden daher typischerweise 0 sein, bis ausreichend Daten vorhanden sind.
Signalinterpretation: Das Muster allein sollte nicht als einziges Handelssignal verwendet werden. Es empfiehlt sich, es mit weiteren Indikatoren (z. B. Volumen, Trendstärke) zu kombinieren, um Fehlsignale zu reduzieren.