Signatur
Beschreibung
Die Funktion trader_stochf() ist Teil der PECL-Erweiterung Trader und berechnet den schnellen stochastischen Oszillator – ein in der technischen Analyse weit verbreitetes Momentum-Indikator-Paar, das aus den Linien FastK und FastD besteht. FastK zeigt, wie sich der aktuelle Schlusskurs relativ zur Hoch-Tief-Spanne eines bestimmten Zeitraums verhält, FastD ist ein gleitender Durchschnitt über FastK.
Im Gegensatz zum langsamen Stochastik-Oszillator (trader_stoch()) wird beim schnellen Stochastik keine weitere Glättung auf das Rohsignal angewendet, was zu empfindlicheren und schneller reagierenden Signalen führt. Das macht trader_stochf() besonders geeignet für kurzfristige Handelssignale, erhöht jedoch auch die Anfälligkeit für Fehlsignale in volatilen Märkten.
Typische Anwendungsfälle sind die Erkennung überkaufter (> 80) oder überverkaufter (< 20) Marktphasen sowie Kreuzungspunkte zwischen FastK und FastD als Ein- oder Ausstiegssignale. Der Rückgabewert ist ein Array mit zwei Arrays – eines für FastK und eines für FastD.
Voraussetzung ist die Installation der PECL-Erweiterung trader. Die Eingabe-Arrays müssen numerisch indiziert sein und identische Längen aufweisen.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $high Pflicht | array | Numerisch indiziertes Array der Höchstkurse (High-Preise) je Periode. | |
| $low Pflicht | array | Numerisch indiziertes Array der Tiefstkurse (Low-Preise) je Periode. | |
| $close Pflicht | array | Numerisch indiziertes Array der Schlusskurse (Close-Preise) je Periode. | |
| $fastk_period | int | 5 | Anzahl der Perioden für die Berechnung der rohen FastK-Linie. Muss zwischen 1 und 100000 liegen. |
| $fastd_period | int | 3 | Anzahl der Perioden für den gleitenden Durchschnitt, der FastD aus FastK berechnet. Muss zwischen 1 und 100000 liegen. |
| $fastd_matype | int | TRADER_MA_TYPE_SMA | Art des gleitenden Durchschnitts für FastD. Einer der TRADER_MA_TYPE_*-Konstanten, z. B. TRADER_MA_TYPE_SMA (0), TRADER_MA_TYPE_EMA (1) usw. |
Rückgabewert
0 enthält das Array der FastK-Werte, 1 das Array der FastD-Werte. Die Ausgabe-Arrays sind kleiner als die Eingabe-Arrays (Lookback-Offset). Bei einem Fehler wird false zurückgegeben.Beispiele
Einfache Berechnung des schnellen Stochastik-Oszillators
<?php
// Beispielhafte OHLC-Daten (Ausschnitt)
$high = [102.5, 104.0, 103.8, 105.2, 106.1, 105.8, 107.3, 108.0, 107.5, 109.2];
$low = [ 99.1, 101.2, 101.0, 102.8, 103.5, 103.0, 104.9, 105.7, 105.2, 106.8];
$close = [101.5, 103.0, 102.5, 104.1, 105.0, 104.8, 106.5, 107.2, 106.8, 108.5];
$result = trader_stochf($high, $low, $close, 5, 3, TRADER_MA_TYPE_SMA);
if ($result === false) {
echo 'Fehler bei der Berechnung.' . PHP_EOL;
} else {
[$fastK, $fastD] = $result;
echo 'FastK-Werte:' . PHP_EOL;
foreach ($fastK as $index => $value) {
printf(' [%d] %.4f' . PHP_EOL, $index, $value);
}
echo 'FastD-Werte:' . PHP_EOL;
foreach ($fastD as $index => $value) {
printf(' [%d] %.4f' . PHP_EOL, $index, $value);
}
}
Überkauft-/Überverkauft-Signale auswerten
<?php
// Simulierte Kursdaten für ein Wertpapier
$high = [50, 52, 55, 57, 60, 58, 55, 52, 49, 47, 45, 46, 48, 51, 53];
$low = [47, 49, 52, 54, 57, 55, 52, 49, 46, 44, 42, 43, 45, 48, 50];
$close = [49, 51, 54, 56, 59, 56, 53, 50, 47, 45, 43, 45, 47, 50, 52];
$result = trader_stochf($high, $low, $close, 5, 3, TRADER_MA_TYPE_SMA);
if ($result !== false) {
[$fastK, $fastD] = $result;
foreach ($fastK as $i => $k) {
$d = $fastD[$i] ?? null;
$signal = '';
if ($k > 80) {
$signal = ' => ÜBERKAUFT';
} elseif ($k < 20) {
$signal = ' => ÜBERVERKAUFT';
}
$dStr = $d !== null ? sprintf('%.2f', $d) : 'n/a';
printf('Index %2d | FastK: %6.2f | FastD: %6s%s' . PHP_EOL, $i, $k, $dStr, $signal);
}
}
// Wichtig · Fallstricke
Lookback-Offset: Die Ausgabe-Arrays beginnen erst nach einem berechnungsabhängigen Mindestoffset (Lookback), der sich aus fastk_period - 1 + fastd_period - 1 ergibt. Die ersten Elemente der Eingabe-Arrays liefern daher keine Ausgabe-Werte.
Fehlsignale: Der schnelle Stochastik-Oszillator reagiert sehr sensibel auf Kursschwankungen. In stark volatilen Märkten können häufig Fehlsignale auftreten. Für robustere Signale empfiehlt sich der langsame Stochastik-Oszillator (trader_stoch()).
Verfügbarkeit: Die Funktion setzt die PECL-Erweiterung trader voraus. Sie ist nicht im PHP-Kern enthalten und muss separat installiert werden (pecl install trader).