Start · Sprachen · PHP · Referenz · trader_get_compat

trader_get_compat

Funktion

Gibt den aktuell eingestellten Kompatibilitätsmodus der TRADER-Erweiterung zurück.

Kategorie: math

Signatur

trader_get_compat(): int

Beschreibung

trader_get_compat() liest den Kompatibilitätsmodus der PHP-TRADER-Erweiterung aus, die auf der TA-Lib (Technical Analysis Library) basiert. Der Kompatibilitätsmodus steuert, wie bestimmte technische Indikatoren ihre Ausgabewerte berechnen und liefern – insbesondere, ob das Verhalten zur originalen TA-Lib oder zu einer alternativen Implementierung (z. B. Metastock-kompatibel) konform ist.

Mögliche Rückgabewerte sind die Konstanten TRADER_COMPAT_DEFAULT (Wert 0) und TRADER_COMPAT_METASTOCK (Wert 1). Im Standard-Modus (TRADER_COMPAT_DEFAULT) werden Berechnungen gemäß der originalen TA-Lib durchgeführt; im Metastock-Modus passen sich einige Indikatoren an das Verhalten von Metastock-Software an.

Die Funktion ist nützlich, wenn man den aktuellen Zustand vor einer Änderung sichern möchte, z. B. um nach temporär geändertem Kompatibilitätsmodus den ursprünglichen Wert wiederherzustellen. In Kombination mit trader_set_compat() lässt sich der Modus gezielt umschalten und wieder zurücksetzen.

Rückgabewert

Typ
int
Beschreibung
Gibt den aktuellen Kompatibilitätsmodus als ganzzahligen Wert zurück: TRADER_COMPAT_DEFAULT (0) für den Standard-TA-Lib-Modus oder TRADER_COMPAT_METASTOCK (1) für den Metastock-kompatiblen Modus.

Beispiele

Aktuellen Kompatibilitätsmodus auslesen

<?php
// Aktuellen Modus ermitteln
$currentMode = trader_get_compat();

if ($currentMode === TRADER_COMPAT_DEFAULT) {
    echo 'Modus: Standard (TA-Lib-kompatibel)';
} elseif ($currentMode === TRADER_COMPAT_METASTOCK) {
    echo 'Modus: Metastock-kompatibel';
} else {
    echo 'Unbekannter Modus: ' . $currentMode;
}
Modus: Standard (TA-Lib-kompatibel)

Modus temporär wechseln und wiederherstellen

<?php
// Aktuellen Modus sichern
$previousMode = trader_get_compat();
echo 'Vorheriger Modus: ' . $previousMode . PHP_EOL;

// Temporär auf Metastock-Modus umschalten
trader_set_compat(TRADER_COMPAT_METASTOCK);
echo 'Aktiver Modus nach Umschalten: ' . trader_get_compat() . PHP_EOL;

// Berechnungen im Metastock-Modus...
$prices = [10.0, 10.5, 11.0, 10.8, 11.2, 11.5, 12.0];
$sma = trader_sma($prices, 3);
print_r($sma);

// Ursprünglichen Modus wiederherstellen
trader_set_compat($previousMode);
echo 'Wiederhergestellter Modus: ' . trader_get_compat() . PHP_EOL;
Vorheriger Modus: 0 Aktiver Modus nach Umschalten: 1 Array ( [2] => 10.5 [3] => 10.766666666667 [4] => 11 [5] => 11.166666666667 [6] => 11.566666666667 ) Wiederhergestellter Modus: 0

// Wichtig · Fallstricke

Die TRADER-Erweiterung ist keine Standard-PHP-Erweiterung und muss separat installiert werden (z. B. via PECL: pecl install trader). Ohne diese Erweiterung steht trader_get_compat() nicht zur Verfügung und führt zu einem fatalen Fehler.

Der Kompatibilitätsmodus ist global für den gesamten PHP-Prozess gültig. In Umgebungen mit mehreren gleichzeitigen Anfragen (z. B. mit einem Webserver) sollte der Modus daher nur in kontrollierten, sequenziellen Szenarien temporär geändert werden, um unerwartete Seiteneffekte zu vermeiden.