Signatur
Beschreibung
Der Parabolic SAR Extended (SAREXT) ist eine Erweiterung des klassischen parabolischen SAR-Indikators und wird in der technischen Analyse verwendet, um Trendumkehrpunkte zu identifizieren. Im Gegensatz zur Standard-Variante (trader_sar) ermöglicht SAREXT die getrennte Konfiguration der Beschleunigungsfaktoren für Long- und Short-Positionen, was eine feingranulare Anpassung an unterschiedliche Marktsituationen erlaubt.
Die Funktion ist Teil der PECL trader-Erweiterung, die auf der TA-Lib-Bibliothek basiert. Sie erwartet ein Array mit Schlusskurs-Daten (oder High/Low-Werten, je nach Konfiguration) und gibt ein Array mit den berechneten SAR-Werten zurück. Positive Werte zeigen eine Long-Position (SAR liegt unterhalb des Kurses), negative Werte eine Short-Position an.
Die SAR-Methode folgt dem Prinzip: Liegt der Kurs oberhalb des SAR-Wertes, wird ein Aufwärtstrend signalisiert; fällt der Kurs darunter, signalisiert der Indikator einen Umkehrpunkt und wechselt die Richtung. Der Beschleunigungsfaktor erhöht sich mit jedem neuen Extrempunkt, sodass der SAR zunehmend näher an den Kurs heranrückt.
SAREXT eignet sich besonders für Trader, die unterschiedliches Marktverhalten in Auf- und Abwärtstrends berücksichtigen möchten und Stop-Loss-Levels dynamisch anpassen wollen.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $real Pflicht | array | Eindimensionales Array mit numerischen Kursdaten (z. B. Schlusskurse) als Eingabewerte für die Berechnung. | |
| $startvalue | float | 0.0 | Startwert für den SAR-Berechnung. Beeinflusst den initialen SAR-Wert zu Beginn der Zeitreihe. |
| $offsetonreverse | float | 0.0 | Prozentualer Versatz (als Dezimalwert, z. B. 0.01 = 1 %), der beim Umkehrpunkt auf den neuen SAR-Wert aufgeschlagen wird. |
| $accelerationinitlong | float | 0.02 | Initialer Beschleunigungsfaktor für Long-Positionen (Aufwärtstrend). Bestimmt, wie schnell der SAR zu Beginn einer Long-Phase dem Kurs folgt. |
| $accelerationlong | float | 0.02 | Schrittweite des Beschleunigungsfaktors für Long-Positionen bei jedem neuen Extrempunkt. |
| $accelerationmaxlong | float | 0.2 | Maximaler Beschleunigungsfaktor für Long-Positionen. Der Faktor wird nie über diesen Wert hinaus erhöht. |
| $accelerationinitshort | float | 0.02 | Initialer Beschleunigungsfaktor für Short-Positionen (Abwärtstrend). Bestimmt, wie schnell der SAR zu Beginn einer Short-Phase dem Kurs folgt. |
| $accelerationshort | float | 0.02 | Schrittweite des Beschleunigungsfaktors für Short-Positionen bei jedem neuen Extrempunkt. |
| $accelerationmaxshort | float | 0.2 | Maximaler Beschleunigungsfaktor für Short-Positionen. Der Faktor wird nie über diesen Wert hinaus erhöht. |
Rückgabewert
false zurückgegeben.Beispiele
Einfache SAREXT-Berechnung mit Standardparametern
<?php
// Beispiel-Kursdaten (z. B. tägliche Schlusskurse)
$preise = [
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.98, 45.77, 45.54,
45.38, 45.43, 44.86, 45.78, 46.05, 46.05, 45.43, 44.80
];
// Berechnung mit Standardwerten
$sarext = trader_sarext($preise);
if ($sarext === false) {
echo "Fehler bei der Berechnung.\n";
} else {
foreach ($sarext as $index => $wert) {
$richtung = $wert > 0 ? 'Long (Aufwärtstrend)' : 'Short (Abwärtstrend)';
printf("Index %d: SAR = %.4f (%s)\n", $index, $wert, $richtung);
}
}
SAREXT mit unterschiedlichen Long- und Short-Parametern
<?php
// Kursdaten
$preise = [
100.0, 101.5, 103.2, 102.8, 104.5, 106.1, 105.3, 104.0,
102.5, 101.0, 99.5, 98.2, 97.8, 99.0, 100.3, 101.8,
103.5, 105.0, 106.8, 108.2, 107.5, 106.0, 104.5, 103.0
];
// Separate Konfiguration für Long- und Short-Beschleunigung
$sarext = trader_sarext(
$preise,
0.0, // Startwert
0.0, // Versatz bei Umkehr
0.01, // Initialer AF Long (langsamer Start)
0.01, // AF-Schritt Long
0.15, // Max AF Long
0.03, // Initialer AF Short (schnellerer Start)
0.03, // AF-Schritt Short
0.25 // Max AF Short
);
if ($sarext !== false) {
$letzterIndex = array_key_last($sarext);
$letzterSAR = $sarext[$letzterIndex];
$aktuellKurs = $preise[$letzterIndex];
echo "Letzter Kurs: " . number_format($aktuellKurs, 2) . "\n";
echo "Letzter SAR: " . number_format(abs($letzterSAR), 2) . "\n";
echo "Signal: " . ($letzterSAR > 0 ? 'Long (Kaufsignal)' : 'Short (Verkaufsignal)') . "\n";
} else {
echo "Fehler: Berechnung fehlgeschlagen.\n";
}
// Wichtig · Fallstricke
Voraussetzung: Die trader_sarext-Funktion steht nur zur Verfügung, wenn die PECL-Erweiterung trader installiert und aktiviert ist (extension=trader.so in der php.ini).
Lookback-Periode: Die ersten Werte des Eingabe-Arrays werden für die interne Initialisierung benötigt. Das Ergebnis-Array ist daher kürzer als das Eingabe-Array. Die Anzahl der fehlenden Anfangswerte hängt von den gewählten Parametern ab.
Vorzeichen-Konvention: Positive SAR-Werte stehen für Long-Positionen (SAR unterhalb des Kurses, Aufwärtstrend), negative Werte für Short-Positionen (SAR oberhalb des Kurses, Abwärtstrend). Dies weicht von manchen anderen Implementierungen ab.
Parameterwahl: Zu hohe Beschleunigungsfaktoren führen zu einem sehr reaktiven SAR, der häufig Umkehrsignale produziert (Whipsaws). Zu niedrige Werte machen den Indikator träge. Standardwerte (0.02 / 0.2) gelten als bewährter Ausgangspunkt.