Local Trade Copier via Named Pipes IPC
- Utilitys
- Hayyu Imam Muhammad
- Version: 2.15
- Aktivierungen: 10
Local Trade Copier ist ein MT5 Expert Advisor mit einer einzigen Datei, der für das schnelle lokale Kopieren von Trades zwischen zwei MetaTrader-Terminals auf demselben PC entwickelt wurde. Er kann entweder im Sender (Host) -Modus betrieben werden, der Handelsaktivitäten vom Quell-Terminal erfasst und veröffentlicht, oder im Empfänger (Client) -Modus, der diese Aktivitäten liest und auf dem Ziel-Terminal mit flexiblen Steuerelementen für das Symbol-Mapping, die Richtung, die Lot-Größe, das SL/TP-Kopieren und die Handhabung von Pending-Orders reproduziert. Sein Hauptvorteil ist die Verwendung von Named Pipes IPC über einen lokalen Hilfsserver: Im Vergleich zu FILE_COMMON-Methoden vermeidet er das wiederholte Lesen und Schreiben von gemeinsam genutzten Dateien auf der Festplatte, reduziert den Overhead beim Dateizugriff und eignet sich im Allgemeinen besser für eine leichtgewichtige Kommunikation mit geringer Latenz, wenn beide Terminals auf demselben Windows-System laufen.
In der Praxis bietet diese Architektur einen reaktionsschnelleren lokalen Handelskopier-Workflow als die traditionelle dateibasierte Synchronisierung. FILE_COMMON ist zwar einfach und weitgehend kompatibel, hängt aber immer noch von wiederholten Dateiabfragen und Festplatten-E/A ab. Im Gegensatz dazu ist der Named Pipes IPC-Ansatz für eine schnellere lokale Nachrichtenübermittlung zwischen Prozessen ausgelegt, was ihn zu einer geeigneteren Transportschicht für einen Handelskopierer macht, der schnell, effizient und stabil auf einem einzigen Computer arbeiten soll.
Eingabeparameter
01. Allgemeine Einstellungen
Role
Definiert die EA-Rolle.
- ROLE_SENDER: Der EA fungiert als Quellterminal und sendet Handelsereignisse.
- ROLE_RECEIVER: Der EA fungiert als Zielterminal und kopiert empfangene Ereignisse.
ChannelName
Der Name des Kommunikationskanals.
Beide Terminals und der lokale Helferserver müssen denselben Wert verwenden, um miteinander zu kommunizieren.
SharedBufferKB
Die Größe des internen Ereignispuffers in Kilobytes.
Ein größerer Wert ermöglicht es, dass mehr Ereignistext und Ereignisverlauf verfügbar bleiben, bevor ältere Daten abgeschnitten werden.
EnableNamedPipeIPC
Aktiviert oder deaktiviert den Named Pipes IPC-Transport.
Wenn diese Option deaktiviert ist, kann der EA immer noch angeschlossen werden, ohne sofort zu versuchen, die Pipe-Kommunikationsschicht zu verwenden.
02. Sender (Host) Einstellungen
SenderTradeFilterMode
Gibt an, welche Sender-Trades übertragen werden dürfen.
- HOST_FILTER_ALL: alle zulässigen Abschlüsse senden
- HOST_FILTER_MANUAL_ONLY: sendet nur manuelle Abschlüsse
- HOST_FILTER_MAGIC_ONLY: sendet nur Abschlüsse, die mit der SenderMagicNumber übereinstimmen
SenderMagicNumber
Die magische Zahl, die verwendet wird, wenn SenderTradeFilterMode auf Magic-only-Filterung eingestellt ist.
Nur Abschlüsse mit dieser magischen Zahl werden veröffentlicht.
SenderAllowedSymbols
Ein Symbolfilter auf der Senderseite.
Lassen Sie ihn leer, um alle Symbole zuzulassen, oder beschränken Sie die Übertragung nur auf ausgewählte Symbole.
SenderSendSnapshotOnInit
Wenn diese Option aktiviert ist, veröffentlicht der Sender sofort den aktuellen Open-Position-Snapshot, wenn der EA startet.
Dies ist nützlich, wenn der Empfänger nach dem Start mit bereits geöffneten Trades synchronisieren soll.
SenderSyncSLTPChanges
Wenn aktiviert, werden Stop-Loss- und Take-Profit-Änderungen auf der Senderseite an den Empfänger übertragen.
SenderSyncPendingOrders
Wenn aktiviert, werden auch Ereignisse zur Erstellung, Änderung und Stornierung von Pending-Orders übertragen.
SenderResetSharedBufferOnInit
Wenn aktiviert, löscht oder setzt der Sender den gemeinsamen Kommunikationspuffer zurück, wenn er startet.
Dadurch wird verhindert, dass veraltete Ereignisdaten aus einer früheren Sitzung wiederverwendet werden.
SenderScanIntervalMilliseconds
Das Timer-Intervall auf der Senderseite in Millisekunden.
Es steuert, wie oft der Sender auf Änderungen wie Open/Close-Ereignisse, SL/TP-Updates und Pending-Order-Updates prüft.
03. Receiver (Client) Einstellungen
ReceiverHostEventFilterMode
Gibt an, welche Host-Ereignisse der Empfänger akzeptiert.
- EVENT_FILTER_ALL: akzeptiert alle Host-Ereignisse
- EVENT_FILTER_MANUAL_ONLY: akzeptiert nur Host-Ereignisse, die von manuellen Geschäften stammen
- EVENT_FILTER_MAGIC_ONLY: akzeptiert nur Host-Ereignisse, die ReceiverAllowedHostMagic entsprechen
ReceiverAllowedHostMagic
Wird verwendet, wenn die empfängerseitige Filterung von Host-Ereignissen auf den Modus "Nur Magie" eingestellt ist.
Nur Host-Ereignisse mit dieser magischen Zahl werden kopiert.
ReceiverAllowedHostSymbols
Ein empfängerseitiger Filter für eingehende Hostsymbole.
Lassen Sie ihn leer, um alle Symbole zu akzeptieren, oder verwenden Sie ihn, um das Kopieren auf ausgewählte Quellsymbole zu beschränken.
ReceiverSymbolMap
Ordnet Hostsymbole den Clientsymbolen zu.
Dies ist nützlich, wenn der Sender und der Empfänger-Broker unterschiedliche Symbolnamen, Suffixe oder Vertragsbezeichnungen verwenden.
ReceiverMagic
Die magische Zahl, die Positionen oder Aufträgen zugewiesen wird, die vom EA des Empfängers eröffnet wurden.
Sie hilft, kopierte Trades von manuellen Trades oder anderen EAs auf dem Client-Terminal zu unterscheiden.
ReceiverDirectionMode
Legt fest, wie die kopierte Handelsrichtung gehandhabt wird.
- COPY_REVERSE: Umkehrung der Host-Richtung
- COPY_SAME_AS_HOST: die gleiche Richtung wie der Host beibehalten
In der aktuellen Version ist der Standardmodus COPY_SAME_AS_HOST.
ReceiverLotMode
Legt fest, wie die kopierte Losgröße berechnet wird.
- LOT_MULTIPLIER_FROM_HOST: Verwendung der Losgröße des Hosts multipliziert mit ReceiverHostLotMultiplier
- LOT_FIXED: immer ReceiverFixedLot verwenden
ReceiverHostLotMultiplier
Der Multiplikator, der auf die Host-Losgröße angewandt wird, wenn ReceiverLotMode auf Multiplikatormodus eingestellt ist.
ReceiverFixedLot
Die feste Losgröße, die verwendet wird, wenn ReceiverLotMode auf den festen Modus eingestellt ist.
ReceiverMaxDeviationPoints
Maximal zulässige Slippage oder Abweichung, wenn der Empfänger Marktaufträge sendet.
ReceiverCopySLTP
Wenn aktiviert, übernimmt der Empfänger auch die Stop-Loss- und Take-Profit-Werte des Senders.
ReceiverCopyBrokerPendingOrders
Wenn aktiviert, werden kopierte Pending-Orders als echte maklerseitige Pending-Orders auf dem Empfängerterminal platziert.
ReceiverEnableVirtualPending
Wenn aktiviert, können schwebende Aufträge auf der Empfängerseite virtuell bearbeitet werden, anstatt immer sofort als maklerseitige schwebende Aufträge platziert zu werden.
ReceiverVirtualPendingBufferPoints
Zusätzlicher Punktpuffer, der für die virtuelle Pending-Ausführungslogik verwendet wird.
Damit kann gesteuert werden, wie eng der virtuelle Trigger dem ursprünglichen Pending-Level folgt.
ReceiverPollIntervalMilliseconds
Empfängerseitiges Polling-Intervall, in Millisekunden.
Es steuert, wie oft der Empfänger den Pipe/Helper-Server auf neue Handelsereignisse überprüft.
Zusammenfassung der praktischen Verwendung
Bei normaler Verwendung sollte der Sender mit dem Quellterminal und der Empfänger mit dem Zielterminal verbunden sein, wobei beide Seiten denselben ChannelName verwenden. Wenn Sie möchten, dass der Empfänger beim Start mit den aktuell offenen Geschäften übereinstimmt, aktivieren Sie SenderSendSnapshotOnInit . Wenn Sie möchten, dass sich kopierte Geschäfte genau wie auf der Host-Seite verhalten, lassen Sie ReceiverDirectionMode auf COPY_SAME_AS_HOST. Wenn Makler unterschiedliche Symbolnamen verwenden, konfigurieren Sie ReceiverSymbolMap entsprechend.
