In diesem Artikel
Nach diesem Artikel kannst du …
- Du definierst eine vollständige erste Operation ohne verpflichtende Orders.
- Du suspendierst Regeln bei fehlender Historie statt Inputs zu erfinden.
- Du verwendest zeitgleiche Quotes und bewahrst deren Zeitstempel.
- Du trennst Programmkorrektheit, Orderzustand und wirtschaftliche Bewertung.
Begriffe direkt erklärt
Lot Erwartungswert Expert Advisor (EA) Algorithmischer HandelDein erstes Algoprojekt darf ein Signallog sein. Es kann eine Größe rechnen oder bestehende Belastung prüfen, ohne zu handeln. Wähle eine Aufgabe, deren Ergebnis du erklären kannst, und beschreibe Daten, Regel sowie Verhalten bei fehlender Information. Die Freigabe von Orders ist ein zusätzlicher Schritt. Automatisierung beweist keine rentable Strategie.
Vier unterschiedliche Aufgaben statt eines einzigen Bots
Trenne Signalwahl, Ausführung einer vorhandenen Entscheidung, Positionsbetreuung und Berichte. Ein Programm, das eine vorgegebene Order verteilt, verfolgt ein anderes Ziel als ein Roboter mit eigenen Einstiegssignalen. Der BIS-Bericht von 2020 behandelt institutionelle FX-Ausführungsalgorithmen und ihre Risiken. Seine Abkürzung EA bedeutet execution algorithm; in MetaTrader bezeichnet EA einen Expert Advisor. Der Bericht belegt keine Rentabilität eines Retailroboters.
Definiere Instrument, Datenquelle, Betriebszeiten, Entscheidungszeitpunkt, Ein- und Ausstieg, Größe, Gesamtgrenze und Verhalten bei bestehenden Positionen. Menschliche Festlegungen und Betreuung bleiben notwendig. Automatisierung kann einen manuellen Fehler verhindern und einen neuen erzeugen, etwa eine doppelte Anfrage nach Neustart. Prüfe korrektes Programmverhalten getrennt vom wirtschaftlichen Ergebnis seiner Regel.
Werkzeuge nach der Aufgabe auswählen
Ein einfacher Preisalarm kann für eine Benachrichtigung genügen. Native MT5-Alarme prüfen Preis-, letzte Ausführungsvolumen- oder Zeitvergleiche, keine beliebige Kombination aus gleitendem Mittel und ATR. Dafür kann ein Indikator oder EA erforderlich sein. MQL5 arbeitet im MT5-Umfeld; Python kann Daten untersuchen oder dokumentierte Schnittstellen verwenden.
Es gibt keine Pflichtleiter von Alarm über MQL5 und Python zu FIX. Wähle Umgebung passend zu Konto, Daten und Aufgabe. Unterstelle keinem Produkt pauschalen API-Zugang, feste Zeilenzahl, Bauzeit oder Latenz. Die EA-Grundlagen und der Python-Backtest behandeln unterschiedliche Arbeitsabläufe; dieselbe Idee zweimal umzusetzen bleibt optional.
Eine eigene Regel braucht genau drei abgeschlossene historische Schlusswerte: x, 100, 102, vom ältesten zum jüngsten. Sie fragt, ob der letzte Wert102 größer als das Dreiermittel ist. Der älteste Wert fehlt. Bei hypothetisch x = 98 wäre das Mittel 100 und die Bedingung wahr; bei x = 106 wäre das Mittel 308/3 ≈ 102,667 und die Bedingung falsch.
Ohne x pausiert die Dreierregel; beide bekannten Werte ergeben keinen ersatzweisen Zweiertest.
- x = 98
- (98 + 100 + 102)/3 = 100 – 102 > 100: wahr
- x = 106
- 308/3 ≈ 102,667 – 102 > 102,667: falsch
- x fehlt
- Auswertung aussetzen – Abgeschlossene ältere Historie, kein Zukunftswert
Nur 100 und 102 zu mitteln ergibt101 und verändert die Regel. Null einzusetzen erfindet eine Vergangenheit. Das Programm dokumentiert fehlende Daten und setzt die Auswertung aus, statt „kein Signal“ zu bescheinigen. Bei später erfolgreichem Abruf prüft es dieselben beabsichtigten Bars. CopyRates dokumentiert Rückgabewerte und teilweise verfügbare Historie; unser Gegenbeispiel betrifft Vollständigkeit, nicht Arrayrichtung.
Genug Wissen für die verwendeten Funktionen
Du brauchst Programmierung, Datenprüfung, Größenrechnung und statistische Beurteilung passend zum Projekt. Einen Parameter ohne Syntaxfehler zu ändern testet weder Orderzustand noch wirtschaftliche Annahmen. Eine kleine Equitykurve beschreibt ihre Stichprobe und garantiert keinen künftigen Vorteil.
Plane repräsentative Daten, getrennte Auswertung und Demoprüfungen der benötigten Operationen. Python kann innerhalb oder außerhalb einer dokumentierten MT5-Anbindung arbeiten. Gesamtlatenz hängt von Code, Computer, Netzwerk und Brokerablauf ab; sie ist nicht garantiert einstellig in Millisekunden. Kosten für Daten, Hosting, Lizenzen und Zeit gehören in die Projektliste, selbst bei lizenzkostenfreier Programmiersprache.
Von einer präzisen Regel zum erklärbaren Test
Für ein hypothetisches EUR/USD-H1-Crossover können EMA 21, SMA 55 und eine gewählte ATR-Distanz Teil der Spezifikation sein. Lege Berechnungsweise, abgeschlossene oder laufende Bars, Bewertungszeit, Stop, Ziel und bestehende Position genau fest. Logge zunächst statt zu senden. Teste Signal, kein Signal, Barwechsel, fehlende Historie und vorhandene Position. Fehlende Daten sind kein gültiges negatives Prüfergebnis.
Vergleiche manuelle und automatische Einzelentscheidungen zuerst für gleiche Daten und Zeiten. Fünf Jahre automatisierter Rückblick und sechs Monate manuelle Bewertung müssen wegen anderer Feeds oder Regime nicht gleich ausfallen. Kläre passende Abweichungen, modelliere Kosten und werte eingefrorene Regeln auf getrennten Daten aus. Nach Anpassung anhand dieser Ergebnisse ist der Zeitraum Entwicklungsdaten geworden.
Eigenes EUR-Größenmodell: Equity 10.000 EUR, gewählte 0,5 Prozent geplantes Kursverlustbudget, Stop 25 Pips. EUR/USD mit100.000 EUR je Lot und Pipgröße 0,0001 hat10 USD Pipwert je Lot. Bei ausdrücklich angenommenem 1,10 USD je EUR sind das 10/1,10 EUR je Pip. Budget 50 EUR geteilt durch 25 × (10/1,10) ergibt 0,22 Lot, also 22.000 EUR Nominal.
Diese Zahlen sind keine allgemeinen Risikoregeln. Nominal, Margin und geplanter Preisverlust sind verschieden. Berücksichtige Gebühren und Ausführung, bevor du auf den zulässigen Volumenschritt anpasst. Ein gewöhnlicher Stop kann in einer Lücke anders füllen; die 50 EUR sind kein unbedingter Maximalverlust.
Auch richtige Quotes können falsch kombiniert werden. t1 hat Bid/Ask 1,1000/1,1002, t2 hat1,1010/1,1012. Beide Spreads sind zwei Pips. t1-Ask mit t2-Bid ergibt (1,1002 − 1,1010)/0,0001 = −8 Pips. Ein Filter Spread<2,5 würde den konstruierten Wert akzeptieren. Das ist kein beobachteter negativer Marktspread.
SymbolInfoTick liefert Preisfelder und Updatezeit in einer MqlTick-Struktur. Prüfe Abrufserfolg und rechne aus derselben aufbewahrten Struktur. Teste absichtliches Mischen zweier veränderlicher Quotes. Zeitliche Kohärenz bestätigt Daten, keine Liquidität oder künftige Ausführung.
Code, Daten und Wirtschaftlichkeit getrennt bewerten
Fehlerquellen umfassen Regel, Daten, Programm, Ausführung und Betrieb. Es gibt keine hier belegte Rangliste aus nur zwei häufigen Ursachen. Nach unklarer Orderantwort prüfst du Orders, Deals und Positionen vor dem Wiederholen. OrderSend=true allein beweist keinen Fill. Resultcodes und Transaktionszustand gehören zum Protokoll neben Regelversion, Inputzeit und Grund für Handlung oder Aussetzung.
Bewahre misslungene Varianten und Änderungsgründe statt nur der besten Kurve. Trefferquote, Erwartungswert und Profit Factor beantworten verschiedene Fragen. Eigene feste R-Stichprobe: 40 Gewinne zu +2 R und 60 Verluste zu −1 R ergeben (80 − 60)/100 = +0,2 R Durchschnitt vor Kosten. Profit Factor 80/60 ≈ 1,33. Das sind gewählte Inputs, keine getestete Strategie oder Annahme für die nächste Stichprobe.
Prüfe Neustart, Ausfall und Wiederherstellung. Ein VPS entfernt weder Betreuung noch alle Fehler. Das Abschalten lokaler AutoTrading-Erlaubnis schließt Positionen nicht; Server-Schutz und programmgesteuerte Regeln unterscheiden sich. Prüfe ferne Instanzen gesondert.
Ein überprüfbares erstes Projekt abschließen
Ein brauchbares Signallog kann das vollständige Resultat sein. Ein Kalenderdatum oder funktionierender Demoversuch verpflichtet nicht zur Livefreigabe. Ein folgender Test sollte individuelle Entscheidungen, Fills und Kosten vergleichen, nicht nur ähnliche Endgewinne.
- Schreibe eine Operation mit Datenversion, Zeitpunkt, Regel, Ergebnis und Aussetzungsfällen auf und prüfe kleine erklärbare Beispiele. Verwende abgeschlossene Bars und zeitgleiche Bid/Ask-Quotes; dokumentiere im Modell zwei Pips je Quote und den falschen gemischten Wert von −8 Pips als Datenfehler.
- Ergänze benötigte Aufträge nur in einer eindeutig getrennten Demoumgebung und teste Ablehnung, Neustart sowie unklare Antwort. Prüfe danach aktuellen Kontozustand und Anweisungskennungen; das Ergebnis muss zeigen, ob die Operation bereits ausgeführt wurde, bevor ein erneutes Senden eine zusätzliche Position erzeugen könnte.
- Friere Regeln für eine separate Auswertung ein und dokumentiere Pause- sowie Updateverfahren. Vergleiche einzelne Entscheidungen, Fills und Kosten statt nur Endgewinne; ein vollständiges Signallog kann das ganze erste Projekt erfüllen und weder Kalenderdatum noch funktionierender Demoversuch verpflichtet zur Livefreigabe.
Prüfe dein Verständnis
Etwa 3 Minuten Übung.
Antwort und Erklärung anzeigen
Richtig: Der fehlende dritte Wert kann die Entscheidung verändern.
Weitere Fragen
Muss mein erstes Algoprojekt selbst handeln?
Nein. Ein Signallog, eine Größenrechnung oder eine Belastungsprüfung können vollständige Projekte sein. Trenne Signalwahl, Ausführung, Betreuung und Bericht. Definiere Inputs, Entscheidungszeit und Aussetzung bei fehlenden Daten. Wenn Orders benötigt werden, prüfe ihren wirklichen Zustand zusätzlich zur Programmantwort. Automatisierung garantiert keinen Vorteil; ein gewähltes Verlustbudget ist weder Nominalwert noch garantierter Maximalverlust.
Wie wähle ich zwischen Alarm, EA und Python?
Wähle nach Aufgabe, Daten und Kontoschnittstelle. Ein Standardalarm überwacht einfache Preis- oder Zeitvergleiche; ein beliebiger Indikatorausdruck benötigt gegebenenfalls eigenen Code. MQL5 arbeitet im MT5-Umfeld, Python kann dort oder über andere dokumentierte Schnittstellen eingesetzt werden. Eine feste Werkzeugleiter ist nicht vorgeschrieben. API-Zugang, Latenz und Entwicklungszeit sind setupabhängig; Parameteränderungen bestätigen keine korrekte Ausführung.
Welche Datenfehler sollte ich vor weiteren Tests prüfen?
Prüfe angeforderte Barzahl, abgeschlossene versus laufende Bars und zeitgleiche Quotes. Ein Zweiermittel ersetzt kein Dreiermittel; ein falscher Nullinput erfindet Historie. Zwei gültige Quotes aus verschiedenen Momenten können zusammen einen negativen konstruierten Spread ergeben. Dokumentiere fehlende Daten und ihre Zeitpunkte und setze die Regel aus. Diese Kontrolle beweist weder künftige Liquidität noch rentable Ergebnisse.
Was prüfe ich nach einer unklaren Orderantwort?
Prüfe tatsächliche Orders, Deals und Positionen vor dem erneuten Senden. OrderSend=true allein bestätigt keine abgeschlossene Ausführung. Logge Resultcodes, Inputzeit, Regelversion und beobachteten Zustand. Teste Ablehnung, Neustart und mehrdeutige Antwort zunächst auf Demo. Bewahre misslungene Versuche. Ein positiver Backtest oder ähnlicher Endgewinn ersetzt keine kontrollierte Chronologie und verpflichtet nicht zu echtem Geld.
Quellen und Nachvollziehbarkeit
- BIS — FX execution algorithms and market functioning (2020)
Institutionelle Ausführungsalgorithmen und Risiken; EA bedeutet dort executionalgorithm, nichtMetaTraderExpert Advisor.
- MQL5 — CopyRates
Rückgabewert der kopierten Datensätze und unvollständige Historie; angeforderte Barzahl prüfen.
- MQL5 — SymbolInfoTick
Preisfelder und Aktualisierungszeit in einerMqlTick-Struktur,Erfolgprüfen.
- MQL5 — OrderSend
True allein bestätigt keine abgeschlossene Ausführung; Resultcodes und Transaktionszustand prüfen.
Rechenfälle sind ausdrücklich angenommene Beispiele. Sie ersetzen weder aktuelle Marktdaten noch die Spezifikation deines Anbieters.
