Start · Sprachen · PHP · Referenz · trader_typprice

trader_typprice

Funktion

Berechnet den typischen Preis (Typical Price) aus Hoch-, Tief- und Schlusskursen einer Zeitreihe.

Kategorie: math

Signatur

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

Beschreibung

trader_typprice ist Teil der TRADER-Erweiterung für PHP, die auf der TA-Lib-Bibliothek basiert. Die Funktion berechnet für jeden Zeitpunkt den sogenannten Typischen Preis (Typical Price), indem sie den Durchschnitt aus Höchstkurs, Tiefstkurs und Schlusskurs bildet: (High + Low + Close) / 3.

Der typische Preis wird in der technischen Analyse häufig als repräsentativer Einzelwert für eine Kerze oder einen Handelszeitraum verwendet. Er dient als Grundlage für weitere Indikatoren wie den Money Flow Index (MFI) oder den Commodity Channel Index (CCI), bei denen ein einzelner Preiswert pro Zeiteinheit benötigt wird.

Die Eingabe-Arrays müssen numerisch indiziert sein und dieselbe Länge aufweisen. Das Ergebnis ist ein Array mit berechneten Werten, wobei die ersten Einträge je nach Lookback-Perioden fehlen können – der Rückgabe-Array beginnt daher möglicherweise nicht bei Index 0.

  • Geeignet für alle gängigen OHLC-Datenquellen (z. B. Börsen-APIs)
  • Kann mit anderen TRADER-Funktionen kombiniert werden
  • Liefert Float-Werte für jeden berechneten Zeitpunkt

Parameter

Name Typ Default Beschreibung
$high Pflicht array Numerisch indiziertes Array mit den Höchstkursen (High) für jeden Zeitpunkt.
$low Pflicht array Numerisch indiziertes Array mit den Tiefstkursen (Low) für jeden Zeitpunkt.
$close Pflicht array Numerisch indiziertes Array mit den Schlusskursen (Close) für jeden Zeitpunkt.

Rückgabewert

Typ
array|false
Beschreibung
Gibt ein Array mit den berechneten typischen Preisen als Float-Werte zurück. Bei einem Fehler (z. B. ungültige Eingaben oder fehlende TRADER-Erweiterung) wird false zurückgegeben. Der Rückgabe-Array ist numerisch indiziert, wobei fehlende Anfangswerte durch den Lookback-Mechanismus der TA-Lib wegfallen können.

Beispiele

Typischen Preis für eine Kurszeitreihe berechnen

<?php
// Beispiel-OHLC-Daten (5 Handelstage)
$high  = [105.0, 108.5, 107.0, 110.0, 112.5];
$low   = [ 99.0, 102.0, 103.5, 105.5, 108.0];
$close = [103.0, 106.0, 105.0, 108.0, 111.0];

$typPrice = trader_typprice($high, $low, $close);

if ($typPrice === false) {
    echo "Fehler bei der Berechnung.\n";
} else {
    foreach ($typPrice as $index => $value) {
        echo "Tag " . ($index + 1) . ": Typischer Preis = " . round($value, 4) . "\n";
    }
}
Tag 1: Typischer Preis = 102.3333 Tag 2: Typischer Preis = 105.5 Tag 3: Typischer Preis = 105.1667 Tag 4: Typischer Preis = 107.8333 Tag 5: Typischer Preis = 110.5

Typischen Preis als Basis für weitere Berechnungen verwenden

<?php
// OHLC-Daten aus einer Datenbank oder API
$high  = [200.0, 205.0, 210.0, 208.0, 215.0, 220.0, 218.0];
$low   = [190.0, 195.0, 200.0, 198.0, 205.0, 210.0, 208.0];
$close = [195.0, 202.0, 207.0, 203.0, 212.0, 217.0, 215.0];

$typPrice = trader_typprice($high, $low, $close);

if ($typPrice !== false) {
    // Einfachen gleitenden Durchschnitt des typischen Preises berechnen
    $avgTypPrice = array_sum($typPrice) / count($typPrice);
    echo "Durchschnittlicher typischer Preis: " . round($avgTypPrice, 2) . "\n";

    // Letzten typischen Preis ausgeben
    $last = end($typPrice);
    echo "Letzter typischer Preis: " . round($last, 4) . "\n";
}
Durchschnittlicher typischer Preis: 207.14 Letzter typischer Preis: 213.6667

// Wichtig · Fallstricke

Voraussetzung: Die TRADER-PHP-Erweiterung (php_trader) muss installiert und in der php.ini aktiviert sein. Sie ist nicht standardmäßig enthalten und muss über PECL installiert werden: pecl install trader.

Alle drei Eingabe-Arrays ($high, $low, $close) müssen exakt gleich lang sein und numerisch indizierte Float- oder Integer-Werte enthalten. Anderenfalls kann die Funktion false zurückgeben oder unerwartete Ergebnisse liefern.

Da trader_typprice intern die TA-Lib-Lookback-Logik verwendet (hier typischerweise 0), beginnt der Rückgabe-Array in der Regel bei Index 0. Bei Kombination mit anderen TRADER-Funktionen, die größere Lookback-Zeiträume haben, sollte die Indexverschiebung berücksichtigt werden.