Start · Sprachen · PHP · Referenz · trader_add

trader_add

Funktion

Addiert zwei Vektoren (Arrays) elementweise und gibt das Ergebnis als Array zurück.

Kategorie: math

Signatur

trader_add(array $real0, array $real1): array|false

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

Typ
array|false
Beschreibung
Gibt ein Array mit den elementweisen Summen der beiden Eingabe-Arrays zurück. Bei einem Fehler (z. B. ungültige Eingabe oder leere Arrays) wird 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);
}
Array ( [0] => 15 [1] => 35 [2] => 55 [3] => 75 [4] => 95 )

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.