Signatur
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
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);
}
}
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);
}
}
// 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.