Position Duplicator
- Experten
- Version: 7.0
- Aktivierungen: 20
Benutzerhandbuch und Konfigurationshandbuch
Der „Position Duplicator“ ist ein Expert Advisor für MetaTrader 5 (MT5), der für zwei Hauptfunktionen entwickelt wurde:
1. Automatische Duplizierung von Trades innerhalb desselben MT5-Terminals;
2. Copy-Trading zwischen verschiedenen MT5-Terminals mithilfe einer lokal freigegebenen Datei.
Der EA bietet zudem zusätzliche Funktionen für die Lot-Steuerung, die Zuordnung von Symbolen, Asset-Filter sowie Schutzmaßnahmen basierend auf der Anzahl offener Positionen und dem Drawdown (DD). Die Kommunikation zwischen den Terminals erfolgt über eine gemeinsam genutzte CSV-Datei.
Warnung: Der „Position Duplicator“ ist ein äußerst leistungsstarker EA, daher ist es wichtig, Ihre Konfigurationen auf einem Demokonto zu testen!
1. ALLGEMEINE KONFIGURATION
MagicNumber
Definiert die Magic Number, die vom EA verwendet wird, um die von den „Position Duplicator“-Modulen erstellten Trades zu identifizieren.
Diese Kennung ist besonders wichtig, da sie es dem EA ermöglicht, zwischen folgenden Trades zu unterscheiden:
- Original-Trades;
- Durch das Duplizierungsmodul erstellte Trades;
- Durch das „Copy Trade“-Modul eröffnete Trades.
Der EA verwendet diese Kennung, um beispielsweise zu verhindern, dass eine vom Duplizierungsmodul erstellte Position erneut als neue Quellposition betrachtet wird.
2. DUPLIZIERUNGSMODUL
Das Duplizierungsmodul ist für die Duplizierung einer offenen Position innerhalb desselben MT5-Terminals zuständig.
Beispiel:
Ursprüngliche Position
: XAUUSD KAUF 0,01
↓
Positionsduplizierer
↓
Duplizierte Position
XAUUSD KAUF 0,02
Bei der Duplizierung wird dasselbe Symbol wie bei der ursprünglichen Position verwendet. Die Lot-Regeln werden für jeden Vermögenswert individuell konfiguriert.
Duplikationsmodus
Legt fest, wie das Duplizierungsmodul funktioniert.
Deaktiviert
Deaktiviert die Duplizierung vollständig.
Der EA kann das Modul „Trade kopieren“ weiterhin nutzen, sofern es aktiviert ist.
Automatisch
Berechnet automatisch die Lotgröße der duplizierten Position anhand des Kontostands und einer anlagenspezifischen Regel.
Beispiel:
XAUUSD=2000:0,01
Das bedeutet:
Referenzguthaben = 2000
Basislot = 0,01
Wenn der Kontostand wie folgt lautet:
2.000 $ → 0,01
4.000 $ → 0,02
6.000 $ → 0,03
10.000 $ → 0,05
Bei der Berechnung werden vollständige Saldenblöcke herangezogen.
Beispiel:
XAUUSD=2000:0,01
Kontostand = 10.000
10.000 / 2.000 = 5
5 × 0,01 = 0,05 Lot
Die Konfiguration ist für jeden Vermögenswert individuell.
Fest
Legt für jeden Vermögenswert eine feste Lotgröße fest.
Beispiel:
XAUUSD=0,01
EURUSD=0,01
EURCAD=0,02
Wenn folgende Position eröffnet wird:
XAUUSD KAUF 0,50
könnte die duplizierte Position wie folgt aussehen:
XAUUSD KAUF 0,01
unabhängig von der Lotgröße der ursprünglichen Position.
Multiplikator
Multipliziert die Lotgröße des ursprünglichen Handels.
Beispiel:
XAUUSD=2
EURUSD=2
EURJPY=3
Wenn der ursprüngliche Trade lautet:
XAUUSD KAUF 0,01
mit:
XAUUSD=2
lautet die duplizierte Position:
XAUUSD KAUF 0,02
Wenn die ursprüngliche Position lautet:
EURJPY KAUF 0,05
mit:
EURJPY = 3
dann lautet die duplizierte Position:
EURJPY KAUF 0,15
In der aktuellen Implementierung ist der Multiplikator auf einen Wert zwischen 2 und 20 begrenzt.
Duplication_Custom_Risk_Ratio
Wird verwendet, wenn:
Duplication_Mode = Automatisch
Format:
ASSET=BALANCE_VALUE:BASE_LOT
Beispiel:
XAUUSD=2000:0,01;EURUSD=1000:0,01;AUDCAD=1000:0,01
Jeder Vermögenswert hat sein eigenes Verhältnis zwischen Kontostand und Lotgröße.
Wenn für einen bestimmten Vermögenswert keine Regel vorliegt, kann der EA die automatische Lotgröße für diesen Vermögenswert nicht berechnen und wird diesen Vermögenswert daher nicht duplizieren.
Feste_Lots
Verwendung bei:
Duplication_Mode = Fixed
Format:
ASSET=LOT
Beispiel:
XAUUSD=0,01;EURUSD=0,01;EURCAD=0,02
Für verschiedene Vermögenswerte können unterschiedliche Lotgrößen konfiguriert werden.
Multiplikatoren
Verwendung bei:
Duplication_Mode = Multiplier
Format:
ASSET=MULTIPLIER
Beispiel:
XAUUSD=2;EURUSD=2;EURJPY=3;AUDCAD=4
Die verdoppelte Lotgröße beträgt:
Ursprüngliches Lot × Multiplikator
Duplication_Copy_SL_TP
Legt fest, ob der Stop-Loss (SL) und der Take-Profit (TP) der ursprünglichen Position in die duplizierte Position kopiert werden sollen.
true
Kopiert SL und TP.
false
Die duplizierte Position wird ohne Kopieren dieser Werte eröffnet.
Close_On_Origin_Close
Legt fest, ob die duplizierte Position geschlossen werden soll, wenn die ursprüngliche Position geschlossen wird.
true
Die ursprüngliche Position wird geschlossen
↓
Die duplizierte Position wird geschlossen
false
Die duplizierte Position bleibt auch nach dem Schließen der ursprünglichen Position offen.
Standard:
true
Der EA verwaltet intern die Beziehung zwischen der ursprünglichen Position und ihrem Duplikat, um diese Steuerung durchzuführen.
3. KOPIERMODUL
Das Kopiermodul ermöglicht das Kopieren von Trades zwischen verschiedenen MT5-Terminals.
Die Kommunikation erfolgt über eine gemeinsam genutzte CSV-Datei.
Konzeptionell:
SENDER
↓
copybase.csv
↓
EMPFÄNGER
Es ist möglich, mehrere Sender, mehrere Empfänger sowie ein Terminal zu verwenden, das gleichzeitig Trades sendet und empfängt.
Copy_Mode
Definiert die Rolle des Terminals.
Copy_Disabled
Deaktiviert das Copy-Trading.
Copy_Transmitter
Das Terminal sendet seine Trades nur an andere Terminals.
Beispiel:
MASTER1
TRANSMITTER
↓
↓
↓
MASTER2 / SLAVE1 / SLAVE2
RECEIVER
Copy_Receiver
Das Terminal empfängt ausschließlich Trades.
Copy_Transmitter_Receiver
Das Terminal kann:
+
SENDEN EMPFANGEN
Diese Konfiguration ermöglicht eine Architektur wie beispielsweise:
MASTER2 ⇄ MASTER1
oder eine Struktur mit mehreren Sendern und Empfängern.
Copy_Transmitter_Duplicated_Positions
Legt fest, ob vom lokalen Duplizierungsmodul erstellte Positionen auch an Empfänger übertragen werden sollen.
false
Es werden nur Original-Trades übertragen.
true
Duplizierte Trades können ebenfalls übertragen werden.
Der EA identifiziert seine eigenen duplizierten Trades intern und verhindert so, dass eine vom EA erstellte Position fälschlicherweise erneut übertragen wird.
Close_Copy_On_Transmitter_Close
Legt fest, ob eine auf den Empfänger kopierte Position geschlossen werden soll, wenn die entsprechende Position auf dem Sender geschlossen wird.
false
Die Position auf dem Empfänger bleibt offen.
Copy_SL_TP
Legt fest, ob der SL/TP des Handels des Senders an den Empfänger gesendet wird.
true
Kopiert SL und TP.
false
SL/TP werden nicht kopiert.
4. ROUTING VON SENDER UND EMPFÄNGER
Dieser Abschnitt legt fest, wer an wen sendet.
Node_Id
Die eindeutige Kennung des Endgeräts innerhalb des Copy-Trade-Netzwerks.
Beispiel:
Node_Id = MASTER1
Ein anderes Terminal:
Node_Id = MASTER2
Ein weiteres:
Node_Id = SLAVE1
Jedes Terminal muss über eine eigene eindeutige Kennung verfügen.
Die eigene Knoten-ID des Terminals wird vom Empfänger nicht als gültige Ereignisquelle akzeptiert.
Copy_Source_Transmitter
Legt fest, von welchen Sendern dieses Terminal Transaktionen empfangen darf.
Beispiel:
Copy_Source_Transmitter=MASTER1;MASTER2
Das bedeutet:
Trades empfangen von:
MASTER1
MASTER2
Ist der Sender nicht aufgeführt, wird das Ereignis abgelehnt.
Dies ermöglicht Netzwerke mit mehreren Sendern:
MASTER1 ─────┐
├── EMPFÄNGER
MASTER2 ─────┘
Das System akzeptiert nicht automatisch eine in der gemeinsam genutzten Datei vorhandene Quelle; die Quelle muss explizit konfiguriert werden.
Copier_File_Name
Legt den Namen der für die Kommunikation verwendeten Datei fest.
Standard:
copybase.csv
Die Datei wird über FILE_COMMON verwendet, wodurch verschiedene MT5-Terminals/Installationen auf demselben Computer auf dieselbe Datei zugreifen können.
Copy_Comment
Legt den Basis-Kommentar fest, der bei kopierten Trades verwendet wird.
Intern fügt der EA Informationen zur Herkunft und zur Ticket-Identifikation hinzu, um die Beziehung zwischen dem Empfänger- und dem Sender-Trade herzustellen.
Copy_Poll_Milliseconds
Legt fest, wie oft der Empfänger die CSV-Datei überprüft.
Je niedriger der Wert, desto häufiger wird die Datei überprüft.
Der EA hat einen effektiven Mindesttimerwert von 10 ms.
Startup_Copy_Mode
Legt das Verhalten beim Start des Receivers fest.
NEW_TRADES_ONLY
Das Terminal ignoriert bereits in der Datei vorhandene Trades und beginnt erst mit der Überwachung neuer Trades.
Bestehende Positionen werden nicht kopiert.
EXISTING_AND_NEW
Beim Start rekonstruiert der EA den Status der in der Datei vorhandenen Trades und versucht, noch offene Positionen zu kopieren.
Danach setzt er die Überwachung neuer Trades fort.
Dies ist besonders nützlich, wenn der Empfänger gestartet wird, nachdem der Sender bereits offene Positionen hat.
Copy_Symbol_Mapping
Ermöglicht die Umwandlung des Symbols des Senders in das vom Empfänger verwendete Symbol.
Beispiel:
XAUUSD=GOLD#
EURUSD=EURUSD.r
EURCAD=EURCAD#
Dies ermöglicht:
SENDER
XAUUSD
als Folgendes kopiert zu werden:
EMPFÄNGER
GOLD#
Dies ist besonders wichtig, wenn verschiedene Broker unterschiedliche Bezeichnungen für denselben Vermögenswert verwenden.
Die Zuordnung wird vorgenommen, bevor der Trade beim Empfänger eröffnet wird.
5. LOT KOPIEREN
In diesem Abschnitt wird festgelegt, wie die Lotgröße des Empfängers berechnet wird.
Copy_Lot_Mode
Es gibt vier Optionen:
LOT_TRANSMITTER
Verwendet genau dieselbe Lotgröße wie der Sender.
Beispiel:
Sender:
XAUUSD 0,05
Empfänger:
XAUUSD 0,05
LOT_AUTO
Berechnet automatisch die Lotgröße auf dem Empfänger-Konto anhand des Kontostands des Empfängers und der Regeln, die unter folgendem Pfad definiert sind:
Copy_Auto_Custom_Risk_Ratio
Dadurch können Konten mit unterschiedlichen Guthaben proportional unterschiedliche Lotgrößen verwenden.
Beispiel:
Sender:
0,10 Lot
Empfänger A:
Kontostand = 10.000
→ 0,05 Lot
Empfänger B:
Guthaben = 20.000
→ 0,10 Lot
Die Berechnung erfolgt nach derselben Saldo-Block-Logik wie im automatischen Duplizierungsmodus.
LOT_FIXED
Legt für jeden Vermögenswert eine feste Lotgröße fest.
Beispiel:
XAUUSD=0,01
EURUSD=0,02
EURCAD=0,03
Unabhängig von der übermittelten Lotgröße wendet der Empfänger die konfigurierte Regel an.
LOT_MULTIPLIER
Multipliziert die empfangene Lotgröße.
Beispiel:
XAUUSD=2
Wenn der Sender Folgendes sendet:
0,01
, eröffnet der Empfänger:
0,02
Der Multiplikator ist in der aktuellen Implementierung auf einen Wert zwischen 2 und 20 begrenzt.
Copy_Auto_Custom_Risk_Ratio
Wird verwendet, wenn:
Copy_Lot_Mode = LOT_AUTO
Format:
ASSET=BALANCE_VALUE:BASE_LOT
Beispiel:
XAUUSD=2000:0,01
EURUSD=1000:0,01
AUDCAD=1000:0,01
Die Berechnung basiert auf dem Kontostand des Empfängerkontos.
Copy_Fixed_Lots
Wird verwendet, wenn:
Copy_Lot_Mode = LOT_FIXED
Beispiel:
XAUUSD=0,01
EURUSD=0,01
EURCAD=0,01
Copy_Multipliers_Lots
Verwendung:
Copy_Lot_Mode = LOT_MULTIPLIER
Beispiel:
XAUUSD=2
EURUSD=4
EURCAD=3
6. FILTER
Die Filter legen fest, welche Vermögenswerte vom Empfänger eröffnet werden können.
Enable_Receiver_Symbol_Whitelist
Bei „false“ gibt es keine Whitelist-Einschränkung.
Wenn „true“, sind nur die in folgendem Eintrag aufgeführten Vermögenswerte zulässig:
Receiver_Whitelist_Symbols
geöffnet werden.
Beispiel:
Receiver_Whitelist_Symbols=
XAUUSD.r;EURUSD.r;EURCAD.r
In diesem Fall wird die Eröffnung anderer empfangener Wertpapiere abgelehnt.
Es ist wichtig, das tatsächlich auf dem Empfänger gehandelte Symbol zu verwenden, insbesondere wenn eine Symbolzuordnung genutzt wird.
Enable_Receiver_Symbol_Blacklist
Wenn „true“, können die in der Blacklist definierten Vermögenswerte nicht eröffnet werden.
Beispiel:
Receiver_Blacklist_Symbols=
GBPJPY.r;NAS100;BTCUSD
Receiver_Blacklist_Symbols
Liste der gesperrten Vermögenswerte.
Beispiel:
GBPJPY.r;US30;XAGUSD.r
Priorität
Die Blacklist hat Vorrang vor der Whitelist.
Daher:
Whitelist = XAUUSD;EURUSD;EURCAD
Blacklist = EURCAD
Ergibt:
XAUUSD → erlaubt
EURUSD → erlaubt
EURCAD → GESPERRT
Die Filter wirken sich auf neue Handelseröffnungen aus.
Schließvorgänge werden weiterhin verarbeitet, damit zuvor kopierte Positionen korrekt geschlossen werden können.
7. SCHUTZMODUL
Das Schutzmodul kontrolliert das Kontorisiko und den Drawdown.
Es verfügt über zwei Hauptmechanismen:
Max_Open_Positions
DD_Control_Mode
Max_Open_Positions
Legt die maximal zulässige Anzahl offener Positionen fest.
Standardwert:
999
Die Steuerung berücksichtigt die Funktion „PositionsTotal()“ und dient somit als allgemeine Begrenzung für die Anzahl offener Positionen im Terminal für neue Trades, die vom EA gesteuert werden.
DD_Control_Mode
Aktiviert oder deaktiviert die Drawdown-Kontrolle.
false
Der DD-Schutz ist deaktiviert.
true
Der EA überwacht kontinuierlich das Verhältnis zwischen:
Höchster jemals verzeichneter Kapitalstand
↓
Aktueller Kapitalstand
↓
Drawdown in Geldwert
DD_Value
Legt das Drawdown-Limit in der Währung des Kontos fest.
Beispiel:
DD_Value = 200
Das bedeutet, dass die konfigurierte Aktion ausgelöst wird, wenn der Drawdown folgende Höhe erreicht:
200 Währungseinheiten des Kontos erreicht.
Beispiel: Wenn das Konto in USD geführt wird:
DD_Value = 200
entspricht dies 200 USD.
Die Berechnung lautet:
Drawdown =
höchster jemals verzeichneter Equity-Wert − aktueller Equity-Wert
Der EA aktualisiert den Equity-Höchststand immer dann, wenn ein neuer Equity-Höchstwert erreicht wird.
DD_Action
Legt fest, wie der EA reagieren soll, wenn das DD-Limit erreicht wird.
Close_all
Schließt alle offenen Positionen, die vom Schutzmodul ausgewählt wurden.
Beispiel:
DD = 200
↓
Alle_schließen
↓
Alle Positionen werden in der Schließungswarteschlange „
“ platziert
Close_losses
Schließt nur Positionen, deren aktuelles Ergebnis negativ ist.
Beispiel:
XAUUSD -50 → schließen
EURUSD +20 → behalten
EURJPY -30 → schließen
AUDUSD +15 → behalten
Close_wins
Schließt nur Positionen, deren aktuelles Ergebnis positiv ist.
Beispiel:
XAUUSD +50 → schließen
EURUSD -20 → halten
EURJPY +30 → schließen
AUDUSD -15 → halten
No_new_trades
Schließt keine bestehenden Positionen.
Stattdessen gilt bei Erreichen des DD-Limits:
Neue Trades
↓
GESPERRT
Bestehende Positionen bleiben offen.
Sobald der Drawdown unter das Limit fällt, wird die Sperre für neue Trades aufgehoben.
DRAWDOWN-RESET / REARM
Das Schutzmodul verfügt zudem über einen Mechanismus zur Zurücksetzung des DD-Zyklus.
Nach einer Aktion wie beispielsweise:
Close_all
Close_losses
Close_wins
ausgeführt wird, betrachtet der EA den Schließvorgang nicht sofort als neuen Zyklus.
Er wartet auf die Bestätigung, dass die Positionen aus dem vorherigen Zyklus tatsächlich geschlossen wurden.
Ziel ist es, zu verhindern, dass das Ergebnis des asynchronen Schließvorgangs selbst vorzeitig als neues Drawdown-Ereignis interpretiert wird.
MULTI-SENDER / MULTI-EMPFÄNGER
Mit „Copy Trade“ lassen sich komplexere Netzwerke erstellen.
Ein Sender an mehrere Empfänger:
┌── EMPFÄNGER A
│
SENDER ─┼── EMPFÄNGER B
│
└── EMPFÄNGER C
Mehrere Sender an einen Empfänger:
SENDER A ──┐
├── EMPFÄNGER
SENDER B ──┘
Sender, der gleichzeitig als Empfänger fungiert:
┌──────────────┐
│ MASTER2 │
│ TX + RX │
└──────┬───────┘
↕
┌──────┴───────┐
│ MASTER1 │
│ TX + RX │
└──────────────┘
Zur Identifizierung der Transaktion werden die Quell-ID und das Master-Ticket verwendet, wodurch verhindert wird, dass identische Tickets von verschiedenen Sendern verwechselt werden.
HEDGING UND NETTING
Die aktuelle Architektur wurde entwickelt, um mit den verschiedenen von MT5 unterstützten Positionsverwaltungsmodellen zu funktionieren.
HAFTUNGSAUSSCHLUSS
Der Devisen- und CFD-Handel ist mit einem hohen Risiko verbunden.
Die Wertentwicklung in der Vergangenheit ist keine Garantie für zukünftige Ergebnisse.
Testen Sie die konfigurierten Einstellungen immer zuerst auf einem Demokonto.
Nutzen Sie das Tool umsichtig und verantwortungsbewusst.
