Signatur
Beschreibung
trader_add ist Teil der TRADER-Erweiterung (Technical Analysis for Traders), die auf der TA-Lib-Bibliothek basiert. Die Funktion führt eine elementweise Addition zweier numerischer Arrays durch und entspricht mathematisch dem Operator + auf Vektoren.
Sie wird typischerweise in der technischen Finanzanalyse eingesetzt, um beispielsweise zwei Zeitreihendaten (z. B. Preis-Arrays verschiedener Instrumente oder Indikatoren) miteinander zu addieren. Das Ergebnis ist ein neues Array, das für jeden gemeinsamen Index die Summe der beiden Eingabewerte enthält.
Die Länge des Ergebnis-Arrays richtet sich nach der kürzesten der beiden Eingaben. Werte, die nicht in beiden Arrays vorhanden sind, werden nicht berücksichtigt. Die TRADER-Extension muss als PHP-Extension installiert sein (pecl install trader).
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $real0 Pflicht | array | Erster numerischer Eingabe-Vektor (Array mit float-Werten), z. B. Schlusskurse eines Instruments. | |
| $real1 Pflicht | array | Zweiter numerischer Eingabe-Vektor (Array mit float-Werten), der elementweise zu real0 addiert wird. |
Rückgabewert
false zurückgegeben.Beispiele
Einfache elementweise Addition zweier Preis-Arrays
<?php
// Zwei einfache Preis-Vektoren
$preise1 = [10.0, 20.0, 30.0, 40.0, 50.0];
$preise2 = [5.0, 15.0, 25.0, 35.0, 45.0];
$ergebnis = trader_add($preise1, $preise2);
if ($ergebnis === false) {
echo "Fehler bei der Berechnung.";
} else {
print_r($ergebnis);
}
Addition zweier Indikatoren zur Erstellung eines kombinierten Signals
<?php
// Beispiel: Addition von zwei berechneten Indikatoren
$ema_kurz = trader_ema([10, 11, 12, 13, 14, 15, 16, 17, 18, 19], 3);
$ema_lang = trader_ema([10, 11, 12, 13, 14, 15, 16, 17, 18, 19], 5);
if ($ema_kurz && $ema_lang) {
// Arrays auf gleiche Länge bringen (einfach: nur gemeinsame Schlüssel)
$gemeinsame_keys = array_intersect_key($ema_kurz, $ema_lang);
$ema_kurz_gefiltert = array_intersect_key($ema_kurz, $gemeinsame_keys);
$ema_lang_gefiltert = array_intersect_key($ema_lang, $gemeinsame_keys);
$summe = trader_add(array_values($ema_kurz_gefiltert), array_values($ema_lang_gefiltert));
print_r($summe);
}
// Wichtig · Fallstricke
Voraussetzung: Die TRADER-PHP-Extension muss installiert sein. Installation via PECL: pecl install trader und anschließend extension=trader.so in der php.ini aktivieren.
Array-Indizes: Die TRADER-Funktionen geben Arrays zurück, deren Indizes nicht zwingend bei 0 beginnen – abhängig von Lookback-Perioden. Beim direkten Übergeben von Ergebnissen anderer trader_*-Funktionen an trader_add sollte sichergestellt werden, dass die Eingabe-Arrays dieselbe Länge und konsistente Indizes haben, z. B. durch array_values().
Leere Arrays: Bei leeren oder inkompatiblen Eingabe-Arrays gibt die Funktion false zurück. Prüfe das Ergebnis stets mit === false.