Start · Sprachen · PHP · Referenz · trader_aroon

trader_aroon

Funktion

Berechnet den Aroon-Indikator aus Hoch- und Tiefkursen und gibt Arrays für <code>aroonDown</code> und <code>aroonUp</code> zurück.

Kategorie: math

Signatur

trader_aroon(array $high, array $low, int $timePeriod = 14): array|false

Beschreibung

Der Aroon-Indikator ist ein technischer Analyse-Indikator, der von Tushar Chande entwickelt wurde und misst, wie viel Zeit seit dem letzten Hoch- bzw. Tief-Kurs innerhalb eines definierten Zeitraums vergangen ist. Er besteht aus zwei Linien: Aroon Up und Aroon Down, deren Werte sich jeweils zwischen 0 und 100 bewegen.

Ein hoher Aroon Up-Wert (nahe 100) signalisiert, dass das Hoch des Zeitraums kürzlich erreicht wurde – ein Hinweis auf einen Aufwärtstrend. Ein hoher Aroon Down-Wert signalisiert einen kürzlichen Tief-Kurs – Hinweis auf einen Abwärtstrend. Kreuzen sich beide Linien, kann das einen Trendwechsel anzeigen.

trader_aroon gehört zur Trader-PECL-Erweiterung, die auf der TA-Lib-Bibliothek basiert. Die Funktion erwartet parallel aufgebaute Arrays mit den Hoch- und Tiefkursen einer Kursreihe (z. B. OHLCV-Daten) und gibt ein assoziatives Array mit den Schlüsseln AroonDown und AroonUp zurück.

Diese Funktion ist besonders nützlich in der algorithmischen Handelsanalyse, wenn Trendstärke und Trendrichtung auf Basis historischer Kursdaten automatisiert ermittelt werden sollen.

Parameter

Name Typ Default Beschreibung
$high Pflicht array Numerisch indiziertes Array der Hochkurse (High-Preise) der Kerzen/Perioden in chronologischer Reihenfolge.
$low Pflicht array Numerisch indiziertes Array der Tiefkurse (Low-Preise) der Kerzen/Perioden in chronologischer Reihenfolge. Muss dieselbe Länge wie high haben.
$timePeriod int 14 Anzahl der Perioden (Zeitfenster), über die der Aroon-Indikator berechnet wird. Gültige Werte liegen zwischen 2 und 100000. Standardmäßig 14.

Rückgabewert

Typ
array|false
Beschreibung
Gibt bei Erfolg ein assoziatives Array mit zwei Schlüsseln zurück: AroonDown (Array mit den Aroon-Down-Werten) und AroonUp (Array mit den Aroon-Up-Werten). Beide Teil-Arrays sind numerisch indiziert und beginnen versetzt, da für die ersten timePeriod Einträge keine Werte berechnet werden können. Im Fehlerfall wird false zurückgegeben.

Beispiele

Grundlegende Berechnung des Aroon-Indikators

<?php
// Beispiel-Hochkurse
$high = [44.34, 44.09, 44.15, 43.61, 44.33, 44.83, 45.10, 45.15, 43.61, 44.33, 44.83, 45.10, 45.15, 45.00, 44.50];
// Beispiel-Tiefkurse
$low  = [43.61, 43.35, 43.32, 42.69, 43.49, 43.87, 44.30, 44.28, 42.69, 43.49, 43.87, 44.30, 44.28, 44.20, 43.90];

$result = trader_aroon($high, $low, 5);

if ($result === false) {
    echo 'Fehler bei der Berechnung des Aroon-Indikators.' . PHP_EOL;
} else {
    echo 'Aroon Down:' . PHP_EOL;
    print_r($result['AroonDown']);
    echo 'Aroon Up:' . PHP_EOL;
    print_r($result['AroonUp']);
}
Aroon Down: Array ( [5] => 0 [6] => 0 ... ) Aroon Up: Array ( [5] => 100 [6] => 100 ... )

Trendwechsel-Erkennung anhand des Aroon-Kreuzens

<?php
$high = [50, 52, 55, 53, 51, 49, 47, 46, 48, 50, 52, 54, 56, 55, 57];
$low  = [48, 49, 52, 50, 48, 46, 44, 43, 45, 47, 49, 51, 53, 52, 54];

$result = trader_aroon($high, $low, 5);

if ($result !== false) {
    $aroonDown = $result['AroonDown'];
    $aroonUp   = $result['AroonUp'];

    foreach ($aroonUp as $index => $up) {
        $down = $aroonDown[$index];
        if ($up > $down) {
            $signal = 'Aufwärtstrend';
        } elseif ($down > $up) {
            $signal = 'Abwärtstrend';
        } else {
            $signal = 'Neutral';
        }
        echo "Index $index — Aroon Up: $up, Aroon Down: $down → $signal" . PHP_EOL;
    }
}
Index 5 — Aroon Up: 100, Aroon Down: 0 → Aufwärtstrend Index 6 — Aroon Up: 80, Aroon Down: 20 → Aufwärtstrend ...

// Wichtig · Fallstricke

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

  • Die Arrays high und low müssen dieselbe Anzahl an Elementen besitzen und numerisch ab Index 0 indiziert sein, andernfalls kann es zu unerwarteten Ergebnissen oder false kommen.
  • Die Ergebnis-Arrays beginnen erst ab Index timePeriod, da für die ersten Einträge nicht genug Vorperioden vorhanden sind. Greife daher nie direkt auf Index 0 zu, ohne zu prüfen, ob er existiert.
  • Der Standardwert für timePeriod beträgt 14, was einem gängigen Handelszeitraum entspricht. Kürzere Zeiträume erzeugen empfindlichere, häufig schwankende Signale; längere Zeiträume liefern glattere, aber trägere Signale.
  • Aroon-Werte von 100 bedeuten, dass das Hoch/Tief exakt in der letzten Periode lag; Werte von 0 bedeuten, dass es am Beginn des Beobachtungszeitraums lag.