Start · Sprachen · PHP · Referenz · trader_cdlmorningdojistar

trader_cdlmorningdojistar

Funktion

Erkennt das Morning-Doji-Star-Candlestick-Muster in OHLC-Kursreihen und gibt für jede Kerze einen Signalwert zurück.

Kategorie: math

Signatur

trader_cdlmorningdojistar(array $open, array $high, array $low, array $close, float $penetration = 0.3): array

Beschreibung

Die Funktion trader_cdlmorningdojistar() ist Teil der TRADER-Erweiterung (PHP-Bindings für TA-Lib) und analysiert eine Zeitreihe von OHLC-Kursdaten (Open, High, Low, Close) auf das Morning Doji Star-Muster hin.

Das Morning Doji Star ist ein dreikerziges, bullisches Umkehrmuster, das am Ende eines Abwärtstrends auftritt. Es besteht aus: (1) einer langen bearischen Kerze, (2) einem Doji mit einer Kurslücke nach unten und (3) einer langen bullischen Kerze, die tief in den Körper der ersten Kerze eindringt. Der Parameter penetration legt fest, wie weit die dritte Kerze in den Körper der ersten eindringen muss, damit das Muster als gültig gilt.

Für jede Kerzenposition gibt die Funktion einen ganzzahligen Wert zurück: 100 für ein erkanntes bullisches Signal, -100 für ein bearisches Signal (bei diesem Muster typischerweise nicht auftretend) oder 0, wenn kein Muster gefunden wurde. Die ersten Elemente des Ergebnis-Arrays sind mit 0 aufgefüllt (Lookback-Periode), da für die Mustererkennung mindestens drei Kerzen benötigt werden.

Diese Funktion ist nützlich für automatisierte technische Analysen in Trading-Systemen, Backtesting-Frameworks oder Charting-Anwendungen, bei denen mögliche Trendwenden schnell identifiziert werden sollen.

Parameter

Name Typ Default Beschreibung
$open Pflicht array Numerisches Array mit den Eröffnungskursen (Open) der Kerzen, chronologisch sortiert.
$high Pflicht array Numerisches Array mit den Höchstkursen (High) der Kerzen, chronologisch sortiert.
$low Pflicht array Numerisches Array mit den Tiefstkursen (Low) der Kerzen, chronologisch sortiert.
$close Pflicht array Numerisches Array mit den Schlusskursen (Close) der Kerzen, chronologisch sortiert.
$penetration float 0.3 Prozentualer Anteil (als Dezimalwert, z. B. 0.3 für 30 %), um den die dritte Kerze in den Körper der ersten Kerze eindringen muss, damit das Muster als gültig erkannt wird.

Rückgabewert

Typ
array
Beschreibung
Gibt ein numerisches Array zurück, das für jede Eingabekerze einen Wert enthält: 100 bei erkanntem bullischen Morning-Doji-Star-Muster, 0 bei keinem Muster. Die ersten Elemente (Lookback-Periode) sind immer 0. Im Fehlerfall wird false zurückgegeben.

Beispiele

Einfache Mustererkennung in einer OHLC-Zeitreihe

<?php
// Beispiel-OHLC-Daten (7 Kerzen)
$open  = [50.0, 49.0, 46.0, 45.5, 46.5, 48.0, 50.0];
$high  = [51.0, 49.5, 46.5, 46.0, 47.5, 49.0, 51.5];
$low   = [48.5, 45.5, 43.0, 45.0, 45.8, 47.5, 49.5];
$close = [49.0, 46.0, 43.5, 45.5, 47.0, 49.0, 51.0];

$result = trader_cdlmorningdojistar($open, $high, $low, $close);

if ($result === false) {
    echo 'Fehler bei der Berechnung.' . PHP_EOL;
} else {
    foreach ($result as $index => $signal) {
        if ($signal !== 0) {
            echo "Muster bei Kerze #{$index}: Signal = {$signal}" . PHP_EOL;
        }
    }
    if (max($result) === 0) {
        echo 'Kein Morning Doji Star in den Daten gefunden.' . PHP_EOL;
    }
}
Kein Morning Doji Star in den Daten gefunden.

Verwendung mit angepasstem Penetration-Parameter

<?php
// Realistischere Kursdaten mit möglichem Morning Doji Star
$open  = [100.0, 98.0, 94.0, 93.9, 95.0, 98.5, 102.0];
$high  = [101.0, 98.5, 94.5, 94.2, 96.0, 99.5, 103.0];
$low   = [ 97.5, 93.0, 91.0, 93.6, 93.8, 97.5,  101.0];
$close = [ 98.0, 94.0, 91.5, 94.0, 97.5, 99.0,  102.5];

// Erhöhter Penetrationswert: Die dritte Kerze muss mindestens 50 % eindringen
$result = trader_cdlmorningdojistar($open, $high, $low, $close, 0.5);

if (is_array($result)) {
    echo 'Signale: ' . implode(', ', $result) . PHP_EOL;
} else {
    echo 'Berechnung fehlgeschlagen.' . PHP_EOL;
}
Signale: 0, 0, 0, 0, 0, 0, 0

// Wichtig · Fallstricke

Voraussetzung: Die TRADER-Erweiterung (php_trader) muss installiert und in der php.ini aktiviert sein. Sie basiert auf der C-Bibliothek TA-Lib. Ohne diese Erweiterung ist die Funktion nicht verfügbar.

Array-Längen: Alle vier OHLC-Arrays müssen exakt dieselbe Anzahl an Elementen haben, andernfalls gibt die Funktion false zurück oder liefert unerwartete Ergebnisse.

Lookback-Periode: Die ersten Elemente des Ergebnis-Arrays sind immer 0, da TA-Lib intern eine Mindestanzahl an vorherigen Kerzen (Lookback) benötigt, um das Muster zuverlässig zu erkennen.

Numerische Indizes: Das zurückgegebene Array verwendet nullbasierte, fortlaufende numerische Indizes und kann direkt mit dem Eingabe-Array kombiniert werden.