Kategorie
Plattform
Niveau
Einsteiger
Verwendet bei
MT5-BetriebEA-Bewertung

Magic Number

Eine Ganzzahl, die ein Expert Advisor jeder gesendeten Order aufprägt, damit er seine eigenen Positionen erkennt und alles andere auf dem Konto in Ruhe lässt.

auch: EA-Magic, Order-Magic-Number, MAGIC

Aktualisiert · Geprüft

Einfach gesagt

Ein Namensschild auf jedem Trade. Dem Terminal ist es egal, wer eine Position eröffnet hat, also schreibt jeder EA seine eigene Nummer auf das Ticket und fasst danach nur Tickets mit dieser Nummer an.

Warum das zählt

MetaTrader gibt jedem EA auf einem Konto denselben Blick auf jede Position. Ohne Kennzeichnung kann ein EA seine eigenen Trades nicht von Ihren oder denen eines anderen EA unterscheiden — und ein EA, der die falsche Position verwaltet, ist ein Fehler, der Geld kostet statt eine Fehlermeldung zu werfen.

  • Sie ist es, die den Betrieb mehrerer EAs auf einem Konto überhaupt erst möglich macht.
  • Sie schützt manuelle Trades: die tragen Magic 0, und ein korrekt geschriebener EA fasst sie nie an.
  • Sie ist der Weg, eine Handelshistorie nachträglich nach Strategie zu trennen — die Kennzeichnung überlebt in der Deal-Historie.

In MetaTrader 5

Wo es in MT5 auftaucht

  • Chart → EA-Eigenschaften (F7) → Eingaben — die MagicNumber-Eingabe des EA selbst
  • Strategietester → Eingaben — dieselbe Eingabe beim Testen
  • MQL5-Code: MqlTradeRequest.magic beim Senden, POSITION_MAGIC / ORDER_MAGIC / DEAL_MAGIC beim Zurücklesen

Wie EAs es nutzen

  • Einmal beim Start setzen — CTrade::SetExpertMagicNumber(MagicNumber) — danach trägt jede vom EA gesendete Order die Kennzeichnung.
  • Bei jedem Durchlauf filtern: die Positionsschleife überspringt jedes Ticket, dessen POSITION_MAGIC nicht das eigene ist, bevor sie etwas verändert, nachzieht oder schließt.
  • Die Historie genauso filtern, damit EA-Statistiken nur aus den Deals dieses EA berechnet werden.
  • Jeder vom mt5depot-Builder erzeugte EA wird mit einer MagicNumber-Eingabe ausgeliefert, deren Wert sich aus der Strategie ableitet, damit zwei verschiedene erzeugte EAs nicht von vornherein kollidieren.

Übliche Einstellungen

Einstellung Üblicher Wert Hinweis
Manuelle Trades 0 Der Standard des Terminals. Ein EA sollte Magic 0 niemals verwalten.
Ein EA, ein Symbol beliebige eindeutige Ganzzahl Alles Merkbare funktioniert — 20260807, 1001.
Derselbe EA auf mehreren Symbolen ein Wert pro Chart Sonst schließt die EURUSD-Instanz die Positionen der GBPUSD-Instanz.
Portfolio-EA mit mehreren Strategien ein Wert pro Zweig Jeder Zweig braucht seine eigene Kennzeichnung, um unabhängig nachgezogen und geschlossen zu werden.

Häufige Betriebsprobleme

  • Zwei Instanzen auf derselben Magic: jede sieht die Positionen der anderen als ihre eigenen und schließt sie zum falschen Zeitpunkt.
  • Die Magic bei offenen Positionen zu ändern lässt sie verwaisen — der EA erkennt Trades nicht mehr, die er Minuten zuvor eröffnet hat, und nichts wird sie je automatisch schließen.
  • Die Magic auf 0 zu lassen macht den EA zum Verwalter Ihrer manuellen Trades.
  • Einen EA nach einem Terminal-Neustart mit dem Standardwert statt dem konfigurierten neu anzuhängen erzeugt dasselbe Verwaisen, und zwar unbemerkt.

Verwandte MT5-Funktionen

CTrade::SetExpertMagicNumber()
Setzt die Kennzeichnung, die jede folgende Order dieser Instanz trägt.
PositionGetInteger(POSITION_MAGIC)
Liest die Kennzeichnung von einer offenen Position.
OrderGetInteger(ORDER_MAGIC)
Liest sie von einer schwebenden Order.
HistoryDealGetInteger(ticket, DEAL_MAGIC)
Liest sie von einem geschlossenen Deal, und so wird die Historie pro EA getrennt.

Beispiel

Drei EAs auf einem Konto. Jeder prägt seine eigene Nummer auf, also fasst jede Positionsschleife nur ihre eigenen Zeilen an, obwohl alle drei alle sechs Positionen sehen.

Ein Terminal, ein Konto, drei Eigentümer — die Kennzeichnung ist das Einzige, was sie trennt.
Trend-EA auf EURUSD
20260101
Mean-Reversion-EA auf USDJPY
20260102
Ihre manuellen Trades
0
Kein EA beansprucht diese Kennzeichnung, also schließt nichts Automatisches sie.

Rechenweg if (PositionGetInteger(POSITION_MAGIC) != MagicNumber) continue;

Ergebnis Jeder EA verwaltet nur die Positionen, die er selbst eröffnet hat

Beispielhafte Zahlen — nicht der Verlauf eines gelisteten EA.

So wird es genutzt

Behandeln Sie die Magic Number als Kontokonfiguration, nicht als Strategieeinstellung: schreiben Sie sie auf, bevor der EA live geht, und ändern Sie sie nie bei offenen Positionen.

  • Vergeben Sie einen Wert je laufender Instanz, nicht je EA-Produkt — derselbe EA auf zwei Charts braucht zwei Werte.
  • Führen Sie eine Liste. Sobald vier oder fünf Instanzen laufen, ist eine nicht notierte Kennzeichnung von einer doppelten nicht zu unterscheiden.
  • Verwenden Sie nie eine Kennzeichnung wieder, an der noch offene Positionen hängen, auch nicht von einem entfernten EA.
  • Prüfen Sie sie nach jeder Terminal-Neuinstallation oder Profil-Wiederherstellung, denn dort kommen die Standardwerte zurück.

Der Wert selbst bedeutet MetaTrader nichts — jede Ganzzahl funktioniert. Wichtig ist nur, dass er unter dem, was auf diesem Konto läuft, eindeutig ist.

Häufige Fehler

Glauben, die Magic Number beeinflusse die Ausführung

Sie ändert nichts daran, wie eine Order ausgeführt wird. Sie ist Metadatum: der Broker handelt nicht danach, und sie hat keine Wirkung auf Preis, Spread oder Slippage.

Eine Magic Number für einen EA über viele Charts hinweg nutzen

Die Identität, auf die es ankommt, ist die laufende Instanz, nicht das Produkt. Zwei Charts mit derselben Kennzeichnung bedeuten zwei Instanzen, die einen gemeinsamen Positionspool verwalten.

Sie ändern, um einen sich falsch verhaltenden EA zurückzusetzen

Die offenen Positionen behalten die alte Kennzeichnung. Die Eingabe zu ändern gibt sie auf: der EA erkennt sie nicht mehr, und sie bleiben offen, bis sie von Hand oder durch einen Stop-Out geschlossen werden.

Annehmen, eine Magic Number trenne den Kontoauszug

Der Reiter Handel des Terminals zeigt sie nicht. Ergebnisse pro EA zu trennen verlangt, DEAL_MAGIC aus der Historie zu lesen — das machen Auswertungswerkzeuge, der Standardauszug gibt es nicht her.

Im Detail

Was die Kennzeichnung nicht mitkauft, auf diesem Regal gezählt

Über die 14 hier veröffentlichten EAsWert
Angebote mit einer MagicNumber-Eingabe10
Angebote, bei denen sie beim Einrichten geändert werden muss0
Angebote, die verlangen, sie dort zu betreiben, wo sonst nichts dieses Symbol handelt8
Davon Angebote, die dennoch eine MagicNumber-Eingabe tragen6
Symbole, die von mehr als einem Angebot beansprucht werden7 von 15
EA-Paare, die sich kein Konto teilen können15 von 91

Lesen Sie Zeile drei und vier zusammen. Orders zu kennzeichnen ist die eine Aufgabe; zu entscheiden, ob ein neues Signal erlaubt ist, die andere — und ein EA, der sich auf eine offene Position begrenzt, muss dafür zuerst zählen. Zählt er mit PositionsTotal() und einer Symbolprüfung, landet eine fremde Position in der Summe; filtert er zuerst auf POSITION_MAGIC, tut sie es nicht. Sechs Angebote hier tragen die Eingabe und drucken die Warnung trotzdem, was Ihnen sagt, welche der beiden Varianten ihre Positionszählung verwendet.

Die Paarungsfrage ist also eine Symbolfrage, und sie lässt sich vor dem Kauf beantworten. USD/JPY wird von vier Angeboten gleichzeitig beansprucht — Iridescence, Kestrel Hover, Lanternfish und Tessera —, also gehören keine zwei davon zusammen. EUR/GBP trägt jetzt zwei, Ballast und Thunderhead. Nur Orrery, Peregrine und Zerqon überschneiden sich mit niemandem. Wo zwei sich überschneiden, löst die Kontotrennung das, was eine Kennzeichnung nicht kann: jeder EA zählt dann einen Pool, der nur seine eigenen Trades enthält. Unsere Methodik hält jeden veröffentlichten Lauf je Symbol fest, was dieselbe Unterscheidung von der Messseite aus ist.

Häufig gestellte Fragen

Welche Magic Number sollte ich verwenden?
Jede Ganzzahl, die auf diesem Konto noch nicht in Gebrauch ist und nicht 0 — dieser Wert gehört den manuellen Trades. Ein datumsartiger Wert wie 20260807 lässt sich gut im Blick behalten, wenn mehrere Instanzen laufen.
Können zwei EAs dieselbe Magic Number teilen?
Technisch ja, und es ist eine häufige Ursache schwer zu diagnostizierender Verluste: jede Instanz behandelt die Positionen der anderen als ihre eigenen und schließt oder zieht sie womöglich zum falschen Zeitpunkt nach. Geben Sie jeder laufenden Instanz ihren eigenen Wert.
Spielt die Magic Number im Strategietester eine Rolle?
Für einen Test mit einem einzigen EA nicht, weil im Testkonto nichts anderes handelt. Sie spielt eine Rolle, sobald mehr als ein EA auf demselben Live- oder Demokonto läuft.