Bibliotheken: Arbeiten mit Sockets in MQL5

 

Arbeiten mit Sockets in MQL5:

Diese Library erlaubt es Ihnen Echtzeitkurse aus MetaTrader 5 in externe Server-Applikationen zu transferieren.

Datentransfer von MetaTrader 5 zur Serveranwendung

Autor: Andrey Voytenko

 

Ich danke Ihnen vielmals!


 

Es gibt einige Änderungen und Ergänzungen zum Projekt. Ich bitte alle, die die Projektdatei bereits heruntergeladen haben, sie zu aktualisieren.

 
Dies ist nur für ein Währungspaar, aber wie kann man es für mehrere Währungspaare implementieren?
 
gisip:
... wie kann man es für mehrere Währungspaare realisieren?

Dazu muss der Socket Advisor auf den Charts derjenigen Währungspaare platziert werden, für die Sie Tick-Informationen sammeln möchten.

Das ist nicht die eleganteste Lösung. Aber ich bin bereit, Vorschläge zur Verbesserung des Projekts zu hören.

 
avoitenko:

Dazu muss der Socket Expert Advisor auf den Charts derjenigen Währungspaare platziert werden, für die Sie Tick-Informationen sammeln möchten.

Das ist nicht die eleganteste Lösung. Aber ich bin bereit, Vorschläge zu hören, wie das Projekt zu verbessern.

Für MT4 scheint es klar, wie - durch DDE-Server, aber wie auf MT5 frage ich jeden.

Vielleicht hat jemand einige Ideen?

 
gisip:

Für MT4 scheint es klar, wie - durch DDE-Server, aber wie auf MT5 Ich frage jeden.

Kann jemand eine Idee haben?

Das hängt von der Ausgereiftheit des Servers, der Komplexität des Netzwerkprotokolls und der auszuführenden Aufgabe ab....

Zuerst müssen Sie die Aufgabe definieren, dann ein Netzwerkprotokoll entwickeln (es kann notwendig sein, die Struktur der Server-Datenbank zu erarbeiten).

 
Interesting:

Das hängt vom Entwicklungsstand des Servers, der Komplexität des Netzwerkprotokolls und der durchzuführenden Aufgabe ab....

Zuerst müssen Sie die Aufgabe definieren, dann ein Netzwerkprotokoll entwickeln (möglicherweise müssen Sie die Struktur der Serverdatenbank ausarbeiten).

Ohne irgendwelche Tricks, nur ein Strom von Kursen, so primitiv wie in MT4 durch DDE-Server.
 

Wenn Sie Geduld haben, werde ich das File Mapping Datenaustauschprojekt fertigstellen. Es wird genau das sein, was Sie brauchen.

 
avoitenko:

Wenn Sie Geduld haben, werde ich das File Mapping Datenaustauschprojekt fertigstellen. Es wird genau das sein, was Sie brauchen.

Muss ich für jedes Paar, für das ich Daten erhalten möchte, einen Berater einstellen?
 
gisip:
Muss ich für jedes Paar, für das ich Daten erhalten möchte, einen Expert Advisor einrichten?

Ich habe die Übertragung von Kursen noch nicht auf die Art und Weise durchgeführt, wie MT4 dies über DDE tut, da MT4 ein Automatisierungsserver ist. Ich mache es so: MT5 ist ein Client, und wenn Sie die current_prices wissen wollen, senden Sie eine Anfrage und erhalten das Ergebnis. Das funktioniert für alle Währungspaare, die in der Marktansicht aktiv sind.

Sie können in diesem Projekt auch alle Kurse in einem Batch senden. Beispielsweise können Sie in einem Expert Advisor mit einem Timer jede Sekunde Daten empfangen und vor dem Senden prüfen, ob die neuen Daten nicht den bereits gesendeten Daten für jedes Währungspaar ähneln, d. h. eine Änderung der Daten für Ask oder Bid wird als neuer Tick betrachtet.