Diskussion zum Artikel "Integration von MetaTrader 5 und Python: Daten senden und empfangen" - Seite 3

 
Andres Kull:

Ich verwende EA, localhost ist aktiviert.


hmm... ich weiß nicht. Das Python-Programm muss vorher laufen.

 
Maxim Dmitrievsky:

hmm... ich weiß nicht. Das Python-Programm muss vorher ausgeführt werden.

Das Problem ist eingegrenzt.

SocketCreate ist erfolgreich, wenn EA mit dem Chart verbunden ist.

SocketCreate endet mit Fehler 4014, wenn der EA im Strategy Tester ausgeführt wird.

 
Andres Kull:

Das Thema ist eingegrenzt.

SocketCreate ist erfolgreich, wenn EA mit dem Diagramm verbunden ist.

SocketCreate endet mit Fehler 4014, wenn der EA im Strategy Tester ausgeführt wird.

ahh, richtig. Sockets funktionieren immer noch nicht im Strategietester, vielleicht beheben die Entwickler dies später

"Leider ist die aktuelle Implementierung des Socket-Clients in MetaTrader 5 nicht für die Ausführung im Strategy Tester geeignet, so dass keine vollständigen Tests und Messungen der Leistung der Lösung durchgeführt wurden. Lassen Sie uns auf weitere Updates der Socket-Funktionalität warten", heißt es am Ende des Artikels.
 

Hallo Leute,

wenn auch sehr begrenzt, aber Sie können folgende Schritte in einem Live-Chart versuchen:

1. Laden Sie Ihre Daten aus der Historie oder vorberechnete Ergebnisse aus anderen Indikatoren
2. Fügen Sie eine Schleife in den Tick-Verarbeitungsaufruf ein, die einfach über jedes Element Ihrer vorgeladenen Daten schleift.
3. Lassen Sie Ihren EA über jede Schleife entscheiden -> schreiben Sie Ihre Ergebnisse (Kauf/Verkauf/Aktualisierung SL, etc.) in eine Datei für eine spätere Leistungsanalyse.

Ich hoffe, das hilft ein wenig.

Vielen Dank,
AT

 

@Maxim Dmitrievsky

Ich wollte mich nur dafür bedanken, dass Sie dies zur Verfügung gestellt haben. Ich wollte schon immer in der Lage sein, meine Indikatoren in Python zu programmieren, und seit Sie diesen Thread gestartet haben, kann ich auf Echtzeit-Futures-Daten zugreifen und sie zur Entwicklung und Ausführung meiner Indikatoren verwenden. Ich verwende mein Python, um den Live-Feed zu analysieren und zu zeichnen, und ich platziere meine Trades über die MT5-Plattform - es funktioniert hervorragend. Bitte machen Sie weiter so und ich hoffe wirklich, dass Python von der MT-Gemeinschaft voll akzeptiert wird.

Vielen Dank und beste Grüße!

Dateien:
Fibs3.png  50 kb
 

Danke, Maxim!

Dieser Artikel ist wirklich hilfreich.

Ich frage mich, wenn der Python-Server auf einem anderen PC (Windows 10) in einem lokalen Netzwerk ist, haben Sie einen Socket-Verbindungsfehler erlebt?

Ich stelle Ihnen diese Frage, weil auf dem gleichen lokalen Host alles in Ordnung ist. Die Verbindung ist perfekt. Wenn ich jedoch das Serverprogramm auf einem anderen PC laufen lassen will, erhalte ich einen Socketverbindungsfehler ( connot connect )

Ich habe mit dem Ping-Befehl die IP des entfernten PCs überprüft, alles ist in Ordnung.

Ich habe die IP-Adresse in der URL-Sektion des Expert Advisors hinzugefügt.

Was könnte die Socket-Verbindung verhindern (außerhalb der Firewall)?

Ich habe die Änderung in der Windows-Firewall vorgenommen (allerdings bin ich kein Experte in diesem Bereich).

Ich habe mich gefragt, ob der MT5-Socket in einem lokalen Netzwerk funktioniert...


Vielen Dank im Voraus für alle Vorschläge, denn ich stecke fest.


Philippe

 
Wie lässt sich die Meldung "IPC-Aufruf fehlgeschlagen" umgehen, die beim Ausführen von ...= MT5CopyTicksRange(...) erscheint?
 
Ich habe dies versucht, aber ich erhielt den Fehlercode 4014(Funktion nicht erlaubt), wenn ich es als Expertenprogramm ausführe. Ist die Option nicht aktiviert?
 
slukin:

socketclientEA (Si-6.19,M15) Verbindung localhost:9090 Fehler 4014

https://www.mql5.com/de/docs/network/socketconnect

WennGetLastError() vom Indikator aus aufgerufen wird, wird der Fehler 4014 zurückgegeben - "Der Aufruf der Systemfunktion ist nicht erlaubt".

Lösung:

Die Adresse für die Verbindung sollte zur Liste der erlaubten Adressen auf der Client-Terminal-Seite hinzugefügt werden (Abschnitt Tools / Einstellungen / Expert Advisors).

Erlauben Sie Webrequest für die folgende Url:

http://localhost

Danke, das war anfangs gar nicht so selbstverständlich, die Entwickler sind halt böse Genies!

 
Erstaunlich.
Danke, dass Sie das mit uns teilen.