Start · Sprachen · PHP · Referenz · trader_wclprice

trader_wclprice

Funktion

Berechnet den gewichteten Schlusskurs (Weighted Close Price) aus Hoch-, Tief- und Schlusskursdaten.

Kategorie: math

Signatur

trader_wclprice(array $high, array $low, array $close): array|false

Beschreibung

Die Funktion trader_wclprice() ist Teil der TRADER-Erweiterung für PHP, die technische Analysefunktionen aus der TA-Lib-Bibliothek bereitstellt. Sie berechnet den Weighted Close Price (gewichteten Schlusskurs) für jede Periode anhand folgender Formel: (Hoch + Tief + 2 × Schluss) / 4.

Im Gegensatz zum einfachen Typical Price, bei dem alle drei Werte gleichgewichtet eingehen, wird der Schlusskurs beim Weighted Close Price doppelt gewichtet. Dies macht ihn besonders nützlich in der technischen Analyse, wenn der Schlusskurs als wichtigster Preispunkt einer Periode betrachtet wird.

Der gewichtete Schlusskurs wird häufig als Eingabewert für weitere Indikatoren wie gleitende Durchschnitte verwendet oder als eigenständige Linie im Chart dargestellt, um Preisbewegungen geglättet darzustellen und Trends leichter erkennbar zu machen.

Die Funktion erwartet parallele Arrays für Hoch-, Tief- und Schlusskurse mit gleicher Länge und gibt ein Array mit den berechneten Werten zurück. Der Rückgabearray kann kürzer sein als die Eingabe, wenn interne Berechnungen einen Lookback-Zeitraum erfordern.

Parameter

Name Typ Default Beschreibung
$high Pflicht array Numerisches Array der Höchstkurse für jede Periode. Die Indizes müssen zu den Arrays low und close korrespondieren.
$low Pflicht array Numerisches Array der Tiefstkurse für jede Periode. Die Indizes müssen zu den Arrays high und close korrespondieren.
$close Pflicht array Numerisches Array der Schlusskurse für jede Periode. Der Schlusskurs fließt mit doppelter Gewichtung in die Berechnung ein.

Rückgabewert

Typ
array|false
Beschreibung
Gibt ein numerisches Array mit den berechneten gewichteten Schlusskursen zurück. Im Fehlerfall (z. B. ungültige oder nicht gleich lange Eingabe-Arrays) wird false zurückgegeben.

Beispiele

Gewichteten Schlusskurs für Aktienkurse berechnen

<?php
// Beispiel-Kursdaten (z. B. von einer Börsen-API)
$high  = [102.5, 104.0, 103.8, 105.2, 106.0];
$low   = [ 99.0, 100.5, 101.0, 102.0, 103.5];
$close = [101.0, 102.5, 102.0, 104.0, 105.0];

$wclprice = trader_wclprice($high, $low, $close);

if ($wclprice === false) {
    echo "Fehler bei der Berechnung.\n";
} else {
    foreach ($wclprice as $index => $value) {
        printf("Periode %d: Gewichteter Schlusskurs = %.4f\n", $index + 1, $value);
    }
}
Periode 1: Gewichteter Schlusskurs = 101.3750 Periode 2: Gewichteter Schlusskurs = 102.3750 Periode 3: Gewichteter Schlusskurs = 102.2000 Periode 4: Gewichteter Schlusskurs = 103.8000 Periode 5: Gewichteter Schlusskurs = 104.8750

Weighted Close Price als Basis für einen gleitenden Durchschnitt

<?php
// Umfangreichere Kursdaten simulieren
$high  = [110, 112, 111, 115, 113, 116, 118, 117, 119, 120];
$low   = [105, 107, 106, 109, 108, 110, 112, 111, 114, 115];
$close = [108, 110, 109, 113, 111, 114, 116, 115, 117, 119];

// Gewichteten Schlusskurs berechnen
$wclprice = trader_wclprice($high, $low, $close);

if ($wclprice !== false) {
    // Einfachen gleitenden Durchschnitt (SMA, Periode 3) auf dem WCL-Price berechnen
    $sma = trader_sma($wclprice, 3);

    echo "Weighted Close Prices:\n";
    foreach ($wclprice as $i => $val) {
        printf("  [%d] %.4f\n", $i, $val);
    }

    echo "\nSMA(3) auf Weighted Close Price:\n";
    foreach ($sma as $i => $val) {
        printf("  [%d] %.4f\n", $i, $val);
    }
}
Weighted Close Prices: [0] 107.7500 [1] 109.7500 [2] 108.7500 [3] 112.5000 [4] 110.7500 [5] 113.5000 [6] 115.5000 [7] 114.5000 [8] 116.7500 [9] 118.2500 SMA(3) auf Weighted Close Price: [2] 108.7500 [3] 110.3333 [4] 110.6667 [5] 112.2500 [6] 113.2500 [7] 114.5000 [8] 115.5833 [9] 116.5000

// Wichtig · Fallstricke

Voraussetzung: Die TRADER-Erweiterung muss installiert und aktiviert sein (pecl install trader). Sie ist nicht standardmäßig in PHP enthalten.

Die Eingabe-Arrays high, low und close müssen dieselbe Anzahl an Elementen haben und ausschließlich numerische Werte enthalten, andernfalls gibt die Funktion false zurück.

Die Formel lautet: WCL = (High + Low + 2 × Close) / 4. Bei dieser Funktion ist kein Lookback-Zeitraum erforderlich, da jeder Wert nur von Daten derselben Periode abhängt.