Start · Sprachen · PHP · Referenz · trader_medprice

trader_medprice

Funktion

Berechnet den Median-Preis (Mittelpunkt zwischen Hoch und Tief) für jeden Zeitpunkt einer Kursreihe.

Kategorie: math

Signatur

trader_medprice(array $high, array $low): array|false

Beschreibung

trader_medprice ist Teil der TRADER-Erweiterung für PHP, die technische Analyse-Funktionen aus der Bibliothek TA-Lib bereitstellt. Die Funktion berechnet für jeden übergebenen Zeitpunkt den sogenannten Median Price: den arithmetischen Mittelwert aus dem Höchst- und dem Tiefstkurs einer Periode.

Die Formel lautet: Median Price = (High + Low) / 2. Das Ergebnis wird häufig als vereinfachtes Preismaß verwendet, wenn weder Open noch Close verfügbar sind, oder als Basis für weitere Indikatoren wie gleitende Durchschnitte.

Typische Anwendungsfälle sind die vorbereitende Glättung von Kursdaten, die Berechnung von Pivot-Punkten oder die Verwendung als Eingangsreihe für weitere TA-Lib-Funktionen (z. B. gleitende Durchschnitte). Da die Berechnung keinen Rückblick erfordert, liefert die Funktion für jeden Datenpunkt exakt einen Ausgabewert.

Die TRADER-Erweiterung muss separat installiert und aktiviert sein (pecl install trader). Ohne diese Erweiterung steht die Funktion nicht zur Verfügung.

Parameter

Name Typ Default Beschreibung
$high Pflicht array Indexiertes Array mit den Höchstkursen (High) der einzelnen Perioden als float-Werte.
$low Pflicht array Indexiertes Array mit den Tiefstkursen (Low) der einzelnen Perioden als float-Werte. Muss die gleiche Länge wie $high haben.

Rückgabewert

Typ
array|false
Beschreibung
Gibt ein assoziatives Array mit den berechneten Median-Preiswerten zurück. Die Schlüssel entsprechen den ursprünglichen Indizes der Eingabedaten. Im Fehlerfall (z. B. ungültige Eingaben oder fehlende Erweiterung) wird false zurückgegeben.

Beispiele

Median-Preis aus Tageskursdaten berechnen

<?php
// Beispiel-Kursdaten: Hoch und Tief für 5 Handelstage
$high = [105.5, 108.0, 107.3, 110.2, 109.8];
$low  = [ 101.2, 104.5, 103.0, 106.8, 105.5];

$medprice = trader_medprice($high, $low);

if ($medprice === false) {
    echo "Fehler bei der Berechnung oder TRADER-Erweiterung nicht verfügbar.\n";
} else {
    foreach ($medprice as $index => $value) {
        printf("Tag %d: Median Price = %.4f\n", $index + 1, $value);
    }
}
Tag 1: Median Price = 103.3500 Tag 2: Median Price = 106.2500 Tag 3: Median Price = 105.1500 Tag 4: Median Price = 108.5000 Tag 5: Median Price = 107.6500

Median-Preis als Basis für einen gleitenden Durchschnitt

<?php
// Kursdaten für 7 Tage
$high = [100.0, 102.0, 104.0, 103.5, 105.0, 106.5, 107.0];
$low  = [ 98.0,  99.5, 101.0, 100.0, 102.5, 103.5, 104.0];

// Median-Preise berechnen
$medprice = trader_medprice($high, $low);

if ($medprice !== false) {
    // Gleitenden 3-Perioden-Durchschnitt auf den Median Price anwenden
    $sma = trader_sma($medprice, 3);

    if ($sma !== false) {
        foreach ($sma as $index => $value) {
            printf("Tag %d: SMA(MedPrice, 3) = %.4f\n", $index + 1, $value);
        }
    }
}
Tag 3: SMA(MedPrice, 3) = 101.3333 Tag 4: SMA(MedPrice, 3) = 102.0833 Tag 5: SMA(MedPrice, 3) = 103.0000 Tag 6: SMA(MedPrice, 3) = 104.2500 Tag 7: SMA(MedPrice, 3) = 105.2500

// Wichtig · Fallstricke

Voraussetzung: Die PHP-TRADER-Erweiterung muss installiert und in der php.ini aktiviert sein (extension=trader). Installation via PECL: pecl install trader.

Gleiche Array-Längen: Die Arrays $high und $low müssen identische Länge und konsistente numerische Indizes aufweisen. Unterschiedliche Längen führen zu false als Rückgabewert.

Plausibilität der Daten: Die Funktion prüft nicht, ob High >= Low gilt. Vertauschte oder fehlerhafte Eingabedaten führen zu mathematisch falschen, aber technisch gültigen Ergebnissen — die Eingabedaten sollten daher vorab validiert werden.