Diskussion zum Artikel "Arbeiten mit Sockets in MQL, oder Wie man ein Signalprovider wird" - Seite 7
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Hallo, Dieser Code funktioniert auf MQL4?
Ich versuche, es zu mql4 zu portieren, und wenn die DLL bind() Funktion bei MQL StartServer-Funktion aufgerufen wird, gibt mir die Meldung unten:
Ein weiterer sehr nützlicher Artikel!
Diese Option ist viel bequemer als Dateien und DB.
Danke camarad ;)
Hallo, funktioniert gut auf MT4.
Tx Kumpel. Unglaublicher Code!
Hallo, ich versuche, dies auf MQL4 zu ändern, stoße aber auf Probleme wegen der Trade.mqh-Anforderung auf signalclient. Wie haben Sie es gemacht?
Wenn Sie könnten, teilen Sie bitte Ihre MT4-Version als auch, es wird helfen, Neulinge wie mich aus.
Mit freundlichen Grüßen
Ich habe angefangen, Trades zu kopieren, habe einen Expert Advisor (Server/Client) auf die Charts jedes gehandelten Symbols für Multicurrency Expert Advisor gesetzt, der Expert Advisor hat eine Menge Trades während des Abends-Nachts-Morgens generiert, aber einige Trades sind nach den kopierten Volumina verloren gegangen.
D.h. als Minimum ist es notwendig, eine periodische Überprüfung der Notwendigkeit einer Zwischensynchronisation von Server- und Client-Positionsvolumen hinzuzufügen, ähnlich wie es im Signals-Dienst funktioniert.
Tja, und nach dem Notfall-Neuladen von Terminals sendet der Server aus irgendeinem Grund Nachrichten an die Clients, dass er Nullpositionen hat (obwohl das nicht stimmt), und die Clients schließen gehorsam ihre Positionen. Das sind solche Beobachtungen.
Vielen Dank für den Artikel mit den Beispielen, ich werde auf ihrer Grundlage einen Signaldienst einrichten.
S.Y.:
Очевидно, что данные примеры сервера, рассылающие любому клиенту информацию, не являются оптимальными. К примеру, вы наверняка захотите ограничить доступ к своей информации. Значит, как минимум, к обязательным требованиям необходимо отнести:
Wie kann man das implementieren? Ich habe keine Ahnung davon (selbst wenn man einen Server/Client auf einem lokalen Rechner laufen lässt, ist ein Client mit dem Server verbunden).
Wie kann dies implementiert werden? Null Wissen über diese (auch mit einem Server/Client auf dem lokalen Rechner, einige links Client mit dem Server verbunden).
https://www.mql5.com/en/code/15534
Danke, ich werde mir das mal ansehen.
Nun, nach dem Notfall-Neuladen der Terminals sendet der Server aus irgendeinem Grund Nachrichten an die Clients, dass er null Positionen hat (obwohl das nicht stimmt), und die Clients schließen gehorsam ihre Positionen. Solche Beobachtungen.
Ich verstehe, dass alle Arten von Missverständnissen mit Positionen auftreten, weil die Momente, wenn das Terminal gestartet hat, aber noch nicht mit dem Trading-Server verbunden, und die Sockets werden sofort angehoben und entweder der Server sendet Informationen über das Fehlen von Positionen an die Kunden und sie decken die Positionen, die sie haben, oder der Kunde erhält Informationen vom Server über Positionen und bis er seine eigenen sieht - eilt, um sie zu öffnen, die Sicherung der verfügbaren Volumina. Ich gehe davon aus, dass eine vorherige Überprüfung der Terminalverbindung mit dem Handelsserver diese Missverständnisse beseitigen wird.
Ansonsten ist die Stabilität der Sockets erfreulich.
Hinzugefügt:
Eine verdammte takki slip von den Server-Nachrichten mit Null Volumen von Positionen, die nicht wahr ist, verstehe ich nicht, wie dies geschieht und wo diese Nullen genommen werden.
Wenn nicht geschlossen Marktpositionen würde aus irgendeinem Grund zusammengebrochen sein....
H.Y.: und es passiert hin und wieder, wenn man die Terminals neu lädt - ist alles normal, wie es sein sollte, und das andere Mal schließt es alles auf Null....
Alexey ( @o_o ), wenn du weißt, wo du graben kannst, bitte.
Ich habe die Terminals danach neu gebootet und es gab keine Probleme, alles funktionierte wie es sollte....
im Server graben. wo er feststellt, wie viele Lots er pro Symbol offen hat
Fügen Sie Fehlerprüfungen für MQL-Positionsabfragefunktionen usw. hinzu.
Fügen Sie einen Ausdruck dort zu sehen, dass es MQL, die Nullen zurückgegeben und nicht die Steckdose, die dumm war.
Ich habe OnTrade() aus OnInit()- und OnTrade() entfernt, vielleicht ist das das Ende des Schlamassels.
H.Y.: Es ist noch nicht vorbei. Aber ein paar Prüfungen der Terminalverbindung mit dem Handelsserver scheinen das Problem gelöst zu haben.
Hallo zusammen,
Ich bin auf MQL5 kompilieren und ich halte den Fehler erhalten:
in der Zeile:
EDIT:
Für diejenigen, die es interessiert, habe ich das Problem durch manuelles Kopieren der Felder von einer Struktur in eine andere gelöst.
Hier ist der Code:
Ich möchte hinzufügen, dass ich viele Kompilierungsfehler bei einigen WSA-Fehlercodes hatte, die ich manuell aus winsock.h importieren musste, und bei der Funktion: