Diskussion zum Artikel "Einführung in Connexus (Teil 1): Wie verwendet man die WebRequest-Funktion?"

 

Neuer Artikel Einführung in Connexus (Teil 1): Wie verwendet man die WebRequest-Funktion? :

Dieser Artikel ist der Beginn einer Reihe von Entwicklungen für eine Bibliothek namens „Connexus“, die HTTP-Anfragen mit MQL5 erleichtern soll. Das Ziel dieses Projekts ist es, dem Endnutzer diese Möglichkeit zu bieten und zu zeigen, wie man diese Hilfsbibliothek verwendet. Ich wollte sie so einfach wie möglich gestalten, um das Studium zu erleichtern und die Möglichkeit für künftige Entwicklungen zu schaffen.

Die WebRequest-Funktion eröffnet eine breite Palette von Möglichkeiten zur Integration mit externen Diensten. Von der Erfassung von Finanzdaten, die für automatisierte Handelsentscheidungen wichtig sein können, bis hin zur vollständigen Automatisierung von Prozessen ermöglicht diese Funktion den EAs eine direkte Interaktion mit dem Web. So kann Ihr Handelsroboter beispielsweise Echtzeitinformationen aus externen Quellen beziehen, wie Wirtschaftsnachrichten oder Marktdaten von anderen Plattformen. Diese Daten können verarbeitet und verwendet werden, um Ihre Handelsstrategien automatisch anzupassen, was sowohl die Genauigkeit als auch die Effizienz Ihrer Operationen erhöht.

Wie in den vorgestellten Beispielen gezeigt wird, ist die Verwendung der WebRequest-Funktion jedoch nicht unbedingt trivial. Das Senden einer HTTP-Anfrage mag einfach erscheinen, aber Sie werden schnell auf technische Herausforderungen stoßen, wie z. B. das Senden der richtigen Kopfzeilen, das Formatieren von JSON-Daten, die korrekte Handhabung von Serverantworten und sogar der Umgang mit Fehlern und Ausnahmen, die während der Kommunikation auftreten können. Diese Herausforderungen zeigen, dass die Funktion zwar leistungsfähig ist, aber ein solides Verständnis von Protokollen und der Kommunikation zwischen Systemen voraussetzt, was für Entwickler, die gerade erst anfangen, diesen Bereich zu erforschen, eine erhebliche Hürde darstellen kann.

Autor: joaopedrodev

 

Hallo Ingenieur joaopedrodev!

Auf jeden Fall vielen Dank für diesen sehr interessanten Artikel.

Aber nur ein kleines Problem. Wenn ich versuche, den von Ihnen zur Verfügung gestellten Code, nämlich die Funktion "WebRequest" mit der POST-Methode, unter realen Bedingungen zu testen, kommt die Anfrage ohne Probleme auf meinem Server an. Nur die in Parametern übergebenen Daten (

"{\"key1\":\"value1\",\"key2\":\"value2\"}" 

), sie kommen nicht auf dem Server an. Ist es möglich, dass Sie eine Idee zur Lösung dieses Problems haben? Vielen Dank für Ihre Hilfe.

Automatische Übersetzung durch den Moderator. Im englischen Forum schreiben Sie bitte auf Englisch. Verwenden Sie entweder das automatische Übersetzungsprogramm oder schreiben Sie in einem der anderen Sprachforen.
 
J M #:

Hallo Ingenieur joaopedrodev!

Auf jeden Fall vielen Dank für diesen sehr interessanten Artikel.

Aber nur ein kleines Problem. Wenn ich versuche, den von Ihnen zur Verfügung gestellten Code, nämlich die Funktion "WebRequest" mit der POST-Methode, unter realen Bedingungen zu testen, kommt die Anfrage ohne Probleme auf meinem Server an. Nur die in den Parametern übergebenen Daten (

), sie kommen nicht auf dem Server an. Ist es möglich, dass Sie eine Idee zur Lösung dieses Problems haben? Ich danke Ihnen

Automatische Übersetzung durch den Moderator. Im englischen Forum schreiben Sie bitte auf Englisch. Verwenden Sie entweder das automatische Übersetzungsprogramm oder schreiben Sie in einem der anderen Sprachforen.

Hallo @J M

Vergewissern Sie sich, dass Sie diese Daten im Hauptteil der Anfrage senden, damit der Server die Daten, die Sie senden möchten, korrekt empfängt. Ich bitte Sie auch, die neueste Version der Bibliothek zu verwenden, die im letzten Artikel Connexus Observer (Teil 8) beigefügt ist : Hinzufügen eines Request Observers

J M
J M
  • 2024.06.19
  • www.mql5.com
Trader's profile
 
Ich bin auch an dem Problem der Verwendung von MT5 für DeFi interessiert. Im Allgemeinen sehe ich, dass MT5, mit all seiner Attraktivität (nämlich die Fähigkeit, Tools mit eingebauten Tools zu schreiben) ist nicht entworfen, um ohne Makler zu arbeiten. es ist Makler, die für die Unterstützung des Terminals zu zahlen, während es für Händler kostenlos ist. Bestehende kommerzielle Projekte, die eine freie Anbindung externer Ressourcen ermöglichen, sind für ihre Nutzung recht teuer. Der Lebensunterhalt eines Händlers ist in der Regel unregelmäßig, so dass konstante Ausgaben für uns unangemessen sind. WebRequest() eignet sich zunächst nicht für das Laden von Kursen über API, da die APIs der verschiedenen Börsen unterschiedlich sind und nicht für WebRequest() optimiert sind. In der Tat ist WebRequest() eine eng fokussierte GET-Methode, aber als Antwort kommt eine Reihe von verschiedenen Datentypen, die (besser) in .csv, strukturiert für MT5, angepasst werden sollten. Python-Listen sind dafür viel besser geeignet als MQL-Arrays. Aber das ist nicht der Punkt, wir brauchen ein Symbol in der Marktübersicht, das Kurse aus einer externen Quelle (z.B. SQL) laden kann. Über einen EA ist das umständlich und erfordert die Anbindung an einen linken Broker. Die freie Nutzung von MT5 ist also noch fraglich, und WebRequest() ist Utopie.
 
Good Beer #:
Aber das ist nicht der Punkt, wir brauchen ein Symbol in der Marktübersicht, das Kurse aus einer externen Quelle (z.B. SQL) laden kann.

Zu diesem Zweck habe ich ein benutzerdefiniertes Symbol und einen Dienst erstellt, der im Hintergrund seine Historie über die Funktionen CustomRatesUpdate (via WebRequest) und CustomTicksAdd (via Websocket) aktualisiert.

Good Beer #:
Durch einen EA ist es umständlich und erfordert eine Verbindung zu einem linken Broker.

Durch EA ist wirklich umständlich. Verwenden Sie einen Dienst. Sie müssen sich nicht mit einem "linken" Broker verbinden, sondern bekommen die Kurse direkt von dem Anbieter, bei dem Sie handeln wollen.

Good Beer #:
So freie Nutzung von MT5 ist immer noch in Frage, und WebRequest() ist Utopie.

Ich benutze MT5 frei, ohne irgendwelche Probleme. WebRequest ist gut für seltene Updates der Historie und das Senden von Handelsanfragen. Für Echtzeit-Updates, verwenden Sie Websockets.

 
Das ist richtig! Dienst! Ich habe sie nicht studiert und habe sie vergessen. Ich danke dir!