Signatur
Beschreibung
Der Aroon-Oszillator ist ein technischer Indikator aus der Aroon-Indikatorenfamilie und wird aus der Differenz von Aroon-Up und Aroon-Down gebildet. Er misst die Stärke und Richtung eines Trends: Positive Werte nahe +100 deuten auf einen starken Aufwärtstrend hin, negative Werte nahe -100 auf einen starken Abwärtstrend. Ein Wert um 0 signalisiert eine neutrale oder seitwärts tendierende Marktphase.
Die Funktion gehört zur trader-Erweiterung (PECL), die technische Analysefunktionen aus der TA-Lib-Bibliothek in PHP bereitstellt. Eingegeben werden je ein Array mit Hochkursen (high) und Tiefkursen (low) sowie der gewünschte Beobachtungszeitraum timePeriod. Die Arrays müssen numerisch indiziert und gleich lang sein.
Typische Anwendungsfälle sind die algorithmische Aktien-, Forex- oder Kryptowährungsanalyse, bei der Kauf- und Verkaufssignale automatisch erkannt werden sollen. Kreuzt der Oszillator die Nulllinie von unten nach oben, kann dies als Kaufsignal gewertet werden, ein Kreuzen von oben nach unten als Verkaufssignal.
Wichtig: Das Ergebnis-Array enthält am Anfang weniger Werte als die Eingabe-Arrays, da für die ersten timePeriod Elemente noch keine Berechnung möglich ist (sogenannter Lookback). Die gültigen Werte beginnen erst ab dem Index timePeriod.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $high Pflicht | array | Numerisch indiziertes Array mit den Hochkursen der Perioden (z. B. Tages-Hochs einer Aktie). | |
| $low Pflicht | array | Numerisch indiziertes Array mit den Tiefkursen der Perioden (z. B. Tages-Tiefs einer Aktie). Muss dieselbe Länge wie high haben. |
|
| $timePeriod | int | 14 | Anzahl der Perioden, über die der Aroon-Oszillator berechnet wird. Zulässiger Bereich: 2–100000. Standardwert ist 14. |
Rückgabewert
false zurückgegeben.Beispiele
Grundlegende Berechnung des Aroon-Oszillators
<?php
// Beispielhafte Hoch- und Tiefkursdaten (z. B. einer Aktie über 20 Tage)
$high = [102, 104, 103, 107, 110, 108, 112, 115, 113, 116,
118, 117, 120, 119, 121, 124, 122, 125, 127, 126];
$low = [ 99, 101, 100, 104, 107, 105, 109, 112, 110, 113,
115, 114, 117, 116, 118, 121, 119, 122, 124, 123];
$result = trader_aroonosc($high, $low, 14);
if ($result === false) {
echo 'Fehler bei der Berechnung.' . PHP_EOL;
} else {
echo 'Aroon-Oszillator Werte:' . PHP_EOL;
foreach ($result as $index => $value) {
printf('Index %2d: %+.4f%s', $index, $value, PHP_EOL);
}
}
Trendanalyse mit Nulllinien-Crossover-Erkennung
<?php
// Kursreihen mit Trendwechsel
$high = [120, 119, 118, 117, 116, 115, 114, 113, 112, 111,
110, 111, 112, 114, 115, 117, 119, 121, 122, 124];
$low = [117, 116, 115, 114, 113, 112, 111, 110, 109, 108,
107, 108, 109, 111, 112, 114, 116, 118, 119, 121];
$result = trader_aroonosc($high, $low, 10);
if ($result !== false) {
$values = array_values($result);
for ($i = 1; $i < count($values); $i++) {
$prev = $values[$i - 1];
$curr = $values[$i];
// Nulllinien-Crossover erkennen
if ($prev < 0 && $curr >= 0) {
echo "Kaufsignal bei Eintrag " . ($i + 10) . ": Aroon-OSC wechselt von {$prev} auf {$curr}" . PHP_EOL;
} elseif ($prev >= 0 && $curr < 0) {
echo "Verkaufssignal bei Eintrag " . ($i + 10) . ": Aroon-OSC wechselt von {$prev} auf {$curr}" . PHP_EOL;
}
}
}
// Wichtig · Fallstricke
Erweiterung erforderlich: trader_aroonosc() ist Teil der PECL-Erweiterung trader, die separat installiert werden muss (pecl install trader) und in der php.ini aktiviert werden muss (extension=trader). Sie ist nicht Teil der PHP-Standardinstallation.
Lookback-Effekt: Das Ergebnis-Array enthält weniger Einträge als die Eingabe-Arrays. Für einen timePeriod von n fehlen die ersten n Werte. Beim Mapping auf Datums- oder Indexreihen muss dies berücksichtigt werden, um eine falsche Zuordnung zu vermeiden.
Array-Länge: high und low müssen identische Länge haben und mindestens timePeriod + 1 Elemente enthalten, sonst gibt die Funktion false zurück.