Start · Sprachen · PHP · Referenz · trader_cdl3whitesoldiers

trader_cdl3whitesoldiers

Funktion

Erkennt das Three-White-Soldiers-Candlestick-Muster in OHLC-Kursdaten und gibt Signalwerte zurück.

Kategorie: math

Signatur

trader_cdl3whitesoldiers(array $open, array $high, array $low, array $close): array

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

Typ
array
Beschreibung
Gibt ein Array mit ganzzahligen Signalwerten zurück. 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.