Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Programmierung MQL4 (http://www.expert-advisor.com/forum/forumdisplay.php?f=220)
-   -   Zwei Metatrader kommunizieren lassen (http://www.expert-advisor.com/forum/showthread.php?t=1887)

helmsen 27.01.12 18:42

Zwei Metatrader kommunizieren lassen
 
Hallo,

ich bin bei zwei Brokern angemeldet und trade somit mit zwei verschiedenen Metatradern.
Ist es nun möglich, zwei Expert Advisors, einer in Metatrader A laufend, einer in Metatrader B laufend, kommunizieren lassen? Also wenn der eine keine Position mehr offen hat, soll beim Anderen auch alles geschlossen werden. Wäre um jede Lösungsidee äußerst glücklich. Auch wenn man dazu externe Programme braucht/ schreiben muss. Also Java kann ich :)

Hhan 27.01.12 19:05

Mit OrdersTotal sollte sowas bestimmt möglich sein, evtl. dann in einen Log schreiben und auslesen lassen.

Hhan 27.01.12 19:58

Documentation: FileOpen - MQL4 Documentation

helmsen 15.02.12 14:56

Konnte mich leider erst jetzt damit beschäftigen.

Die Dokumentation sagt ja, dass man nur files innerhalb der terminal_directory (genau terminal_directory\experts\files) lesen kann. Da ich mit zwei Metatradern unterschiedlicher Brokern arbeite, kann der eine auf die Datei des anderen ja garnicht zugreifen.

Hhan 15.02.12 18:47

Entweder den ganzen MetaTrader in den anderen kopieren (schlechte Lösung)
Oder schau mal hier: MT4 Files Functions Replacement.

sandmann23 20.02.12 13:41

Hi,

mit Dateien zu arbeiten kann langsam sein. Da die beiden MT's sich immer im Zugriff auf die Datei gegenseitig blockieren (ausser es ist nur lesend)

Datenbank wäre eine weitere Möglichkeit.

WinSock, also direkte interne Netzwerkkommunikation ist auch möglich.

Gruss
sandmann23

helmsen 20.02.12 14:13

Wie lässt sich denn sowas mittels WinSock realisieren? Schreibt man dass dann in einer bestimmten Programmiersprache und braucht dann einen bestimmten Compiler?

sandmann23 20.02.12 14:30

Hi,

google mal nach zeromq und metatrader. Da schwiert schon Code zu im Netz rum.

Anonsten muss ich mal in meinen alten Codesnipplets schauen, da habe ich das glaube ich mit internen Windows Mitteln realisiert. War aber eine MetaTrader1 = Server zu MetaTrader2 = Client Verbindung. AccountCopy also nur.
Keine zwei Wege Kommunikation.

Gruss
sandmann23

helmsen 20.02.12 19:40

Also Zeromq bereitet mir schon nur beim installieren schwierigkeiten.
Bevor ich mich damit (möglicherweise auch noch unnützerweise) tage lang beschäftige, ist die Lösung mit der Datenbank weniger komplizierter? Also was ne Datenbank ist weiß ich (haha) aber wie eine solche zur Lösung des Kommunikationsproblems beitragen kann leuchtet mir nicht ein.

Grüße Helmsen

sandmann23 20.02.12 20:28

Hi,

MQL4ZMQ: MQL4 Bindings for ZeroMQ

du brauchst nichts installieren, er hat die dlls schon fertig in precompilled.
Beispiel mq4's sind auch vorhanden.

weitere Alternative zum reinen Copieren der Trades:
mt4-trade-copy - Free MT4 trade copier - Metatrader4 EA software to copy all trades from one to one or more Metatrader4 terminals written in MQL4 language (*.mq4) - Google Project Hosting

für deine 2 MetaTrader ist eine db overkill.
Ich nutze eine db , weil ich 30 MetaTrader(mit jeweils bis zu 4 EAs) habe, die gleichzeitig drauf zugreifen.

selbst die WinSock Methode könnte overkill für dich sein. Vielleicht sind die Exampel Dateien ja schon ausreichend.

Ansonsten mit nur 2 MTs würde ich mit Dateien arbeiten. Vorallem, wenn du dich nicht so gut auskennst ist die Lösung am schnellsten für dich zu realisieren.
File Operations via WinAPI - MQL4 Articles
Ja, es ist langsamer (wir reden hier von millisekunden ;-)), und man muss ein paar Sachen bzgl schreib/lese Zugriffe beachten, aber solange es bei einer überschaubaren anzahl von Mt's bleibt, ist das am einfachsten.


Es wird nicht einfach für dich und du wirst viel ausprobieren müssen.

KISS keep it small and simple

Gruss
sandmann23


Alle Zeitangaben in WEZ +2. Es ist jetzt 02:39 Uhr.

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum