Elliott-Datenlabor: MT4, MT5, Pine und Python
Drei Lernbeispiele für abgeschlossene OHLC-Balken, bestätigte Pivots und sechs Preispunkte.
Veröffentlicht: (UTC+3)
Русский · English · Deutsch · Español · Français · Italiano · 繁體中文 · 日本語 · 한국어
Vor der Programmierung müssen Eingabe, Balkenreihenfolge und Verfügbarkeit feststehen. Die eigenen Beispiele zeigen Teiloperationen, keinen vollständigen Wellendetektor. Eine Pro/Light-Anbindung oder Orderübermittlung wird damit nicht belegt.
MT4, MT5 und MQL5: OHLC zuerst
CopyRates mit start_pos=0 enthält in MQL4/MQL5 den laufenden Balken. Das Beispiel fordert drei D1-Balken ab Position 1 an. Genau 3 Rückgaben verlangen; Fehler oder noch geladene Historie erfordern Abbruch und erneute Prüfung. ArraySetAsSeries(false) liest ältere Daten zuerst; CopyRates legt sie unabhängig vom Serienflag physisch zuerst ab.
Symbol, Brokerzeitzone, Sitzung, Anpassungen, OHLC und Volumeneinheiten dokumentieren. Tickvolumen ist kein austauschbarer Ersatz für gehandeltes Börsenvolumen. MqlRates erkennt keine Wellen und belegt kein Pro-kompatibles CSV. Das Importformat separat prüfen; dies ist kein Bericht über einen ausgeführten Terminaltest.
void OnStart() {
MqlRates rates[];
ArraySetAsSeries(rates, false);
int n = CopyRates(_Symbol, PERIOD_D1, 1, 3, rates);
if(n != 3) { Print("Need 3 completed bars; received ", n); return; }
for(int i=0; i<n; i++)
Print(rates[i].time, " ", rates[i].open, " ", rates[i].high,
" ", rates[i].low, " ", rates[i].close);
}Pine Script: Extrem und Verfügbarkeit
ta.pivothigh(high,2,2) benötigt zwei rechte Balken. Ein Hoch auf 10 wird erst beim Schluss von 12 bekannt. offset=-2 verschiebt die Darstellung nach 10, nicht den Wissensstand. Die Beschriftung entsteht bei Bestätigung und enthält beide Indizes.
Den Alarm nach Hinzufügen des Skripts in der Oberfläche erstellen und den Balkenschluss prüfen. Der Ausschnitt validiert weder Impulsunterwellen noch Grade oder Korrekturen. Native TradingView-Werkzeuge und dieses Pine-Beispiel von ExtraLight trennen: dessen aktuelle Seite nennt einen künftigen Start und keinen geöffneten Bezahlzugang.
//@version=6
indicator("Confirmed pivot record", overlay=true, max_labels_count=100)
p = ta.pivothigh(high, 2, 2)
confirmed = barstate.isconfirmed and not na(p)
plot(confirmed ? p : na, style=plot.style_cross, offset=-2)
if confirmed
label.new(bar_index, high, str.format("pivot {0}; available {1}", bar_index-2, bar_index))
alert("Confirmed high pivot", alert.freq_once_per_bar_close)Python: CSV und reine Preisprüfung
csv.DictReader liefert Zeichenketten; Decimal verarbeitet die Originalzeichenkette ohne vorherigen float. Dateien mit open(path,newline="",encoding="utf-8") öffnen. Die sechs erfundenen Punkte prüfen nur einen Teil der Preisregeln eines gewöhnlichen Aufwärtsimpulses.
100→120→110→145→125→150 ergibt Antriebslängen 20,35,25. Welle 3 ist nicht die kürzeste, Welle 4 bleibt über 120. 125 durch 119 zu ersetzen verletzt die Nichtüberlappung. True beweist weder Unterwellen, Grad, Pivotwahl noch Rentabilität; Diagonalen benötigen andere Regeln.
Die Prüfung f>d beschränkt dieses Beispiel zusätzlich auf eine nicht verkürzte fünfte Welle. Eine verkürzte fünfte kann unter dem Hoch der dritten enden; das Funktionsergebnis schließt deshalb andere gültige Impulse nicht aus.
import csv, io
from decimal import Decimal as D
csv_text = "point,price\n0,100\n1,120\n2,110\n3,145\n4,125\n5,150\n"
with io.StringIO(csv_text, newline="") as stream:
p = [D(row["price"]) for row in csv.DictReader(stream)]
def upward_price_subset(p):
if len(p) != 6: return False
a,b,c,d,e,f = p
l1,l3,l5 = b-a,d-c,f-e
return (b>a and a<c<b and d>b and b<e<d and f>d
and l3 >= min(l1,l5))
assert upward_price_subset(p)
assert not upward_price_subset(p[:4]+[D("119"),p[5]])
print(upward_price_subset(p)) # True: price subset onlyMT4 und MT5: Puffervertrag des Indikators
MQL4 iCustom liefert einen ausgewählten Pufferwert über mode und shift. MQL5 iCustom liefert einen Handle; CopyBuffer liest die Werte. Diese Schnittstellen beweisen keine Elliott-Erkennung eines unbenannten Indikators. Datei, Version, Eingaben, Pufferbedeutung, Fehlwertregel und letzte abgeschlossene Kerze sichern.
Für beide Läufe dieselben gespeicherten Brokerdaten verwenden. ZigZag-Extrem, Wellenlabel und Handelssignal brauchen unterschiedliche Prüfungen. Verzögerung und historische Änderung untersuchen, Unbekanntes unbekannt lassen. Das vorherige CopyRates-Beispiel beschafft nur Daten. Ein bestimmtes kostenloses Binärmodul, Pro-Anbindung oder automatischer Auftrag werden damit nicht belegt.
| Schnittstelle | Rückgabe |
|---|---|
| MT4 / iCustom | double: mode + shift |
| MT5 / iCustom | handle → CopyBuffer |
| P4=119 / P1=120 | Nein. Die Nichtüberlappung ist verletzt; weitere Strukturprüfungen bleiben erforderlich. |
TradingView: vollständiges Muster, Einstellungen und Alarme prüfen
Die verlinkte TradingView-Dokumentation beschreibt den eigenen Elliott-Waves-Indikator mit Impuls- und Zigzag-Suche auf den letzten 600 Balken. Die beiden Anzeigeebenen kennzeichnen Verschachtelung und sind keine automatischen historischen Elliott-Grade. Die Pivotwahl bevorzugt passende, große Kursbewegungen; sie stellt nicht sämtliche möglichen Counts dar. Dokumentationsstand: 25. Oktober 2026, ohne Behauptung eines installierten Tests im Nutzerkonto.
Speichern Sie vor einer Änderung Symbol mit Handelsplatz, Intervall, Skala, letzten abgeschlossenen Balken, sämtliche Eingaben und Screenshot. Öffnen Sie für einen Alarm den Alarmdialog, wählen den Indikator als Bedingung und den gewünschten der drei dokumentierten Ereignistypen. Ein als gebildet gemeldeter Teil ist nicht dasselbe wie ein vollständig bestätigtes Elliott-Muster. Die Zugänglichkeit hängt vom Konto ab; ein bestimmter kostenloser Tarif wird hier nicht zugesichert.
| Einstellung oder Ereignis | Bedeutung und reproduzierbare Prüfung |
|---|---|
| Invert pattern | Kehrt die Suchrichtung um: fallender Impuls und aufwärtsgerichteter Zigzag. Dasselbe Datenfenster vor und nach dem Umschalten behalten. |
| In progress | Sucht auch unvollständige Strukturen. Deaktivieren, wenn nur fertig erkannte Muster verglichen werden sollen; auch diese können durch spätere Daten revidiert werden. |
| Length type: Absolute / Percent | Absolute misst Preisdifferenzen, Percent relative Änderungen. Wahl vor dem Vergleich fixieren; eine geänderte Längenordnung kann die Regelprüfung verändern. |
| Show projections | Zeigt in In progress mögliche nächste Wellen nach Fibonacci-Bezügen. Eine gezeichnete Projektion ist kein beobachteter Kurs. |
| Pivots und letzte Welle | Die Punkte werden an geeignete Wendepunkte gebunden; die laufende letzte Welle nutzt ein lokales Hoch oder Tief. Verfügbarkeit und nachträgliche Verschiebung jedes Punktes dokumentieren. |
| New pattern | Meldet ein neues Muster oder eine Revision mit gleichzeitiger Änderung von mindestens zwei Punkten; die Änderung des allerersten Punkts zählt dabei nicht. |
| New potential wave | Meldet eine neu hinzugefügte laufende Welle oder eine erneut laufende letzte Welle, deren vorher gebildeter Punkt revidiert wurde. |
| Wave formed | Meldet die Bildung einer vorher laufenden Welle. Zeitpunkt, gewählten Ereignistyp und Zustand sichern; dies ist keine Ertragszusage. |
| Neuberechnung | Neue Daten aktualisieren frühere Muster; jede Eingabeänderung löst eine vollständige Neuberechnung aus. Ergebnisänderungen anhand desselben gespeicherten Eingabefensters vergleichen. |