Signatur
Beschreibung
Die Funktion trader_cdladvanceblock ist Teil der PECL Trader-Erweiterung, die auf der TA-Lib (Technical Analysis Library) basiert. Sie analysiert Kerzendiagramm-Daten (Candlestick) im OHLC-Format (Open, High, Low, Close) und erkennt das sogenannte Advance Block-Muster.
Das Advance Block-Muster besteht aus drei aufeinanderfolgenden weißen (bullischen) Kerzen, bei denen jede Kerze jedoch kleiner wird, die Dochten länger werden und die Körper kürzer werden — ein Zeichen nachlassender Kaufkraft. Es gilt als potenzielles bearisches Umkehrsignal in einem Aufwärtstrend und deutet darauf hin, dass Bullen an Momentum verlieren.
Die Rückgabe ist ein Array mit ganzzahligen Werten: 100 steht für ein erkanntes bullisches Signal, -100 für ein bearisches Signal und 0 für kein Signal. Indizes entsprechen den Eingabewerten. Die Funktion wird häufig in der technischen Analyse automatisierter Handelssysteme eingesetzt.
Voraussetzung für die Nutzung ist die Installation der PECL Trader-Erweiterung (pecl install trader).
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $open Pflicht | array | Array mit den Eröffnungskursen der Kerzen (numerisch indiziert, aufsteigend nach Zeit). | |
| $high Pflicht | array | Array mit den Tageshöchstkursen der Kerzen (numerisch indiziert, aufsteigend nach Zeit). | |
| $low Pflicht | array | Array mit den Tagestiefstkursen der Kerzen (numerisch indiziert, aufsteigend nach Zeit). | |
| $close Pflicht | array | Array mit den Schlusskursen der Kerzen (numerisch indiziert, aufsteigend nach Zeit). |
Rückgabewert
100 = bullisches Muster erkannt, -100 = bearisches Muster erkannt, 0 = kein Muster. Gibt false zurück, wenn ein Fehler auftritt (z. B. ungültige Eingabedaten oder Arrays unterschiedlicher Länge).Beispiele
Advance Block in historischen Kursdaten erkennen
<?php
// Beispiel-Kursdaten (OHLC) für 5 Kerzen
$open = [44.34, 44.09, 44.83, 45.10, 45.15];
$high = [44.84, 45.15, 45.29, 45.40, 45.23];
$low = [44.09, 43.61, 44.73, 44.96, 44.70];
$close = [44.09, 44.83, 45.10, 45.15, 44.83];
$result = trader_cdladvanceblock($open, $high, $low, $close);
if ($result === false) {
echo 'Fehler bei der Berechnung.';
} else {
foreach ($result as $index => $signal) {
if ($signal !== 0) {
$art = $signal > 0 ? 'Bullisch' : 'Bearisch';
echo "Kerze $index: Advance Block erkannt ($art, Wert: $signal)\n";
}
}
if (array_sum(array_map('abs', $result)) === 0) {
echo 'Kein Advance Block Muster in den Daten gefunden.';
}
}
Kombination mit anderen Candlestick-Mustern zur Signalvalidierung
<?php
// Längere Zeitreihe aus einer Datenbank oder API
$open = [40.0, 40.5, 41.0, 41.8, 42.5, 43.0, 43.2, 43.1];
$high = [41.0, 41.5, 42.0, 42.8, 43.5, 43.8, 43.5, 43.3];
$low = [39.5, 40.0, 40.5, 41.3, 42.0, 42.8, 42.9, 42.6];
$close = [40.5, 41.0, 41.8, 42.5, 43.0, 43.2, 43.1, 42.8];
$advanceBlock = trader_cdladvanceblock($open, $high, $low, $close);
$threeWhiteSol = trader_cdl3whitesoldiers($open, $high, $low, $close);
echo "Advance Block Signale:\n";
print_r($advanceBlock);
echo "\nThree White Soldiers Signale:\n";
print_r($threeWhiteSol);
// Wichtig · Fallstricke
Hinweise zur Nutzung:
- Alle vier Eingabe-Arrays (
open,high,low,close) müssen dieselbe Länge haben, andernfalls gibt die Funktionfalsezurück. - Das Advance Block Muster ist ein relativ seltenes Signal und sollte stets in Kombination mit anderen Indikatoren (z. B. Volumen, RSI, MACD) validiert werden, um Fehlsignale zu vermeiden.
- Die Funktion benötigt mindestens eine gewisse Mindestanzahl an Kerzen (Lookback-Periode), bevor sie verlässliche Signale liefern kann. Die ersten Ausgabefelder können daher
0sein, obwohl kein Muster vorliegt. - Die PECL Trader-Erweiterung muss kompiliert und in der
php.iniaktiviert sein (extension=trader).