Start · Sprachen · PHP · Referenz · trader_cdladvanceblock

trader_cdladvanceblock

Funktion

Erkennt das <code>Advance Block</code>-Kerzenmuster (bearisches Umkehrsignal) in OHLC-Kursdaten.

Kategorie: math

Signatur

trader_cdladvanceblock(array $open, array $high, array $low, array $close): array|false

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

Typ
array|false
Beschreibung
Gibt ein Array mit ganzzahligen Signalwerten zurück: 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.';
    }
}
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 Funktion false zurü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 0 sein, obwohl kein Muster vorliegt.
  • Die PECL Trader-Erweiterung muss kompiliert und in der php.ini aktiviert sein (extension=trader).