und werden Sie Mitglied unserer Fangruppe
Veröffentliche einen Link auf das Skript, damit die anderen ihn auch nutzen können
Bewerten Sie es im Terminal MetaTrader 5
Arbeiten mit Sockets in MQL5 - Bibliothek für den MetaTrader 5
- Ansichten:
- 1224
- Rating:
- Veröffentlicht:
- 2016.04.21 15:28
- Aktualisiert:
- 2016.11.22 07:34
- Benötigen Sie einen Roboter oder Indikator, der auf diesem Code basiert? Bestellen Sie ihn im Freelance-Bereich Zum Freelance
Dieseы Beispiel wird Ihnen demonstrieren wie man einen Echtzeit-Datentransfer vom MetaTrader 5 Client Terminal zu einer externen Serveranwendung implementiert.
Verwendet wird das TCP-Protokoll, es ermöglicht nicht nur lokalen Datentransfer, sondern auch globalen über das Internet.
Die Winsock2 Bibliothek (ws2_32.dll) wird zur Arbeit mit Sockets benutzt. Der direkte Aufruf der Bibliotheksfunktionen ist nicht möglich, da MQL5 die Verwendung von Pointern und die Übergabe von komplexen Datenstrukturen als Parameter von DLL-Funktionen nicht erlaubt. Die Bibliothek socket_mql5.dll, geschrieben in C++, ist ein Zwischenwrapper, der den Expert Advisor mit der Socket Library verbindet.
Die Interaktion von MetaTrader 5 mit der externen Serveranwendung ist in Abb. 1 dargestellt:
Abbildung 1. Interaktion von MetaTrader 5 mit einer externen Serveranwendung
Die minimale Menge der Funktionen für den Einwegetranser (SocketOpen, SocketWrite, SocketClose) ist in der socket_mql5.dll Bibliothek implementiert.
Das Beispiel eines Expert Advisors, verbunden mit dem Server, der benutzt wird um Echtzeit-Tickdaten zu einer externen Serveranwendung zu übertragen ist in Abbildung 2 dargestellt.
Abbildung 2. Export von Tickdaten aus dem MetaTrader 5 Client Terminal an die externe Serveranwendung
Das Archive enthält:
- Einen Expert Advisor
- Die socket_mql5.dll Bibliothek (Der C++ Quellcode wurde mit Visual Studio 2008 geschrieben)
- Den TCP-Server und TCP-Client (Delphi7 Quellen)
Übersetzt aus dem Russischen von MetaQuotes Ltd.
Originalpublikation: https://www.mql5.com/ru/code/169
Die MQL5 Schlüsselwörter und Aliasnamen für die automatische Vervollständigung werden präsentiert.
i-ImpulseSystemDer Indikator basiert auf Elder's Impluse System.
Der MACD Oszillator mit Null Nachlauf.
AlfOsIst ein Oszillator ähnlich dem OsMA mit Variable Index Dynamic Average.