Signatur
Beschreibung
trader_cdl3whitesoldiers() ist Teil der PHP-Trader-Erweiterung (TA-Lib) und analysiert OHLC-Kursdaten (Open, High, Low, Close) auf das Vorliegen des Three-White-Soldiers-Musters. Dieses bullische Umkehrmuster besteht aus drei aufeinanderfolgenden langen, weißen (steigenden) Kerzen, die jeweils in der oberen Hälfte der vorherigen Kerze öffnen und nahe ihrem Höchststand schließen.
Das Muster gilt als starkes Kaufsignal und deutet auf eine Trendwende von einem Abwärtstrend zu einem Aufwärtstrend hin. Es wird häufig in der technischen Analyse von Aktienmärkten, Devisen- und Kryptowährungsmärkten eingesetzt.
Die Funktion gibt ein Array zurück, dessen Werte entweder 0 (kein Muster erkannt), 100 (bullisches Muster erkannt) oder -100 (bärisches Muster erkannt) sind. Die Ergebnisindizes korrespondieren mit den Eingabedaten, wobei die ersten Werte durch den benötigten Lookback-Zeitraum 0 sind.
Zur Verwendung dieser Funktion muss die PECL-Trader-Erweiterung installiert sein. Sie eignet sich besonders für die automatisierte Mustererkennung in Trading-Algorithmen und Backtesting-Systemen.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $open Pflicht | array | Array mit den Eröffnungskursen der Kerzen, indiziert beginnend bei 0. |
|
| $high Pflicht | array | Array mit den Höchstkursen der Kerzen, indiziert beginnend bei 0. |
|
| $low Pflicht | array | Array mit den Tiefstkursen der Kerzen, indiziert beginnend bei 0. |
|
| $close Pflicht | array | Array mit den Schlusskursen der Kerzen, indiziert beginnend bei 0. |
Rückgabewert
100 bedeutet, dass ein bullisches Three-White-Soldiers-Muster erkannt wurde; 0 bedeutet, dass kein Muster erkannt wurde. Negativwerte (-100) sind theoretisch möglich, aber bei diesem Muster typischerweise nicht relevant. Die ersten Einträge des Arrays sind aufgrund des Lookback-Zeitraums 0.Beispiele
Grundlegende Mustererkennung auf OHLC-Daten
<?php
// OHLC-Daten einer Aktie (vereinfachtes Beispiel)
$open = [100.0, 98.0, 97.5, 99.0, 101.0, 103.0, 105.0];
$high = [102.0, 100.0, 99.0, 102.0, 104.0, 106.0, 108.0];
$low = [99.0, 97.0, 96.5, 98.5, 100.5, 102.5, 104.5];
$close = [101.0, 99.0, 98.5, 101.5, 103.5, 105.5, 107.5];
$result = trader_cdl3whitesoldiers($open, $high, $low, $close);
foreach ($result as $index => $signal) {
if ($signal === 100) {
echo "Three-White-Soldiers-Muster erkannt bei Index: $index\n";
}
}
Integration in ein einfaches Trading-Signal-System
<?php
// Simulierte historische Kursdaten
$open = array_map('floatval', [50, 49, 48, 49, 51, 53]);
$high = array_map('floatval', [52, 51, 50, 52, 54, 56]);
$low = array_map('floatval', [49, 48, 47, 48, 50, 52]);
$close = array_map('floatval', [51, 50, 49, 51, 53, 55]);
$signals = trader_cdl3whitesoldiers($open, $high, $low, $close);
$signalMap = [
100 => 'Kaufsignal (Three White Soldiers)',
0 => 'Kein Muster',
-100 => 'Verkaufssignal',
];
echo "Candlestick-Mustererkennung – Three White Soldiers\n";
echo str_repeat('-', 50) . "\n";
foreach ($signals as $i => $val) {
$label = $signalMap[$val] ?? 'Unbekannt';
echo "Kerze #{$i}: Close={$close[$i]} => {$label}\n";
}
// Wichtig · Fallstricke
Voraussetzung: Die PECL-Trader-Erweiterung muss installiert und aktiviert sein (pecl install trader + extension=trader.so in der php.ini). Ohne diese Erweiterung steht die Funktion nicht zur Verfügung.
Datenkonsistenz: Alle vier Eingabe-Arrays (open, high, low, close) müssen dieselbe Länge und konsistente Indizes haben. Unterschiedliche Array-Längen können zu unerwarteten Ergebnissen oder Fehlern führen.
Lookback-Zeitraum: Die Funktion benötigt eine bestimmte Anzahl von Vorgängerkerzen, um ein Muster zu erkennen. Die ersten Einträge des Ergebnis-Arrays sind daher stets 0, bis genügend Datenpunkte vorhanden sind.
Interpretation: Das Three-White-Soldiers-Muster ist ein starkes bullisches Signal, sollte aber immer in Kombination mit anderen Indikatoren und Volumenanalysen verwendet werden, um Fehlsignale zu vermeiden.