Alert: MT4 Terminal dupliziert von Experten gesendete Orders

 

Mit den MT4-Handelskonten passiert überall etwas Unangenehmes (das kann bei jedem Broker passieren, soweit ich das beurteilen kann). Die Plattform ist manchmal, wenn auch selten, Duplizieren von Aufträgen von Experten gesendet.

Ich habe dies mindestens 3 Mal mit MT4 Build 500 beobachtet. Die ersten beiden Male waren auf Demokonten und das letzte Mal, gestern, auf einem echten Konto. Das Problem ist aufgetreten:

1)Auf verschiedenen MT4-Installationen.

2)Auf verschiedenen Computern.

3)Bei verschiedenen Brokern.

4)Mit verschiedenen Expertenberatern.

Abgesehen von all den oben genannten Punkten ist die Tatsache, die mir sagt, dass es sich um ein Problem mit dem Terminal handelt, sehr einfach zu überprüfen. Wenn die doppelte Order auftritt:

1)Sie erfolgt unmittelbar nach der legitimen Order, mit genau der gleichen Losgröße, dem gleichen Symbol und dem gleichen Kommentar.

2)Der erste Vorgang wird wie üblich auf der Registerkarte "Experten" und auf der Registerkarte "Journal" angezeigt. Das Duplikat wird jedoch im Journal angezeigt, aber NICHT auf der Registerkarte "Experten". Dies ist ein zuverlässiger Beweis dafür, dass das Duplikat NICHT von dem Experten gesendet wurde.

Ich fordere Metaquotes dringend auf, dieses Problem so schnell wie möglich zu beheben. Gestern musste ich den Duplikatvorgang manuell schließen und habe dabei Geld verloren, wenn auch nicht allzu viel. Aber dieses Problem kann bei einem automatisierten Konto wirklich verheerende Folgen haben.

Wenn jemand von Ihnen dieses Problem gesehen hat, melden Sie es bitte, damit wir zusätzliche Beweise haben und der entsprechende Fehler schnell behoben wird.

 
Ricardo1:

Ich denke, die Frage hier ist, dass Ihre EAs sind entworfen, um auf einem Tick pro Tick-Basis zu arbeiten, so zum Beispiel, wenn der EA ist im Durchschnitt Kreuzung auf M5, während dieser 5 Minuten der Preis fließt und könnte Ihre Bedingungen, um Aufträge zu senden passieren mehr als einmal machen.


Die Lösung wäre die Einstellung eines Filters auf das Senden von Aufträgen zu überprüfen, ob Sie offen sind oder haben Aufträge auf dem Markt oder nicht. Oder Sie arbeiten auf Bar-Basis. Es tut mir leid, aber ich bin ein Neuling und ich kann mir vorstellen, was das Problem ist, aber ich kann Ihnen keinen Code posten :).

Hoffentlich hilft das.

 
Ricardo1: Ich fordere Metaquotes dringend auf, dieses Problem so schnell wie möglich zu beheben.
Warum glauben Sie, dass das Problem bei MT4 liegt und nicht bei Ihrem EA? Posten Sie Ihren Code.
 
Ricardo1:

Mit den MT4-Handelskonten passiert überall etwas Unangenehmes (das kann bei jedem Broker passieren, soweit ich das beurteilen kann). Die Plattform ist manchmal, wenn auch selten, Duplizieren von Aufträgen von Experten gesendet.

Ich habe dies mindestens 3 Mal mit MT4 Build 500 beobachtet. Die ersten beiden Male waren auf Demokonten, und das letzte Mal, gestern, war auf einem echten Konto. Das Problem ist aufgetreten:

1)Auf verschiedenen MT4-Installationen.

2)Auf verschiedenen Computern.

3)Bei verschiedenen Brokern.

4)Mit verschiedenen Expertenberatern.

Sie müssen die andere Kopie Ihres EAs, die auf dem anderen Chart läuft, beenden ... wenn dies nicht der Fall ist, beweisen Sie es bitte, indem Sie die Logdatei des Experten posten, die den Start des Experten und die doppelten Aufträge zeigt. Dieser Fehler ist schon einmal gemacht worden ...

 

Ihr verblüfft mich ein wenig. Ihr geht davon aus, dass ich etwas falsch machen muss, dass MT4 unmöglich Fehler haben kann. Hier werde ich auf eure Antworten eingehen.


xavilin:


Es handelt sich nicht um ein Problem des EAs. Der EA, den ich benutze, funktioniert seit mehr als einem Jahr auf verschiedenen Plattformen. Außerdem ist dieses Problem bei 3 verschiedenen EA's aufgetreten, zwei von mir und einem kommerziellen EA.


WHRoeder:

Ich kann meinen Code nicht posten, aber wie ich schon sagte, ist das Problem bei 3 verschiedenen EAs aufgetreten. Beim Backtesting tritt es natürlich nie auf. Wie ich Ihnen schon sagte, *dieses Problem tritt sehr selten auf*. In der Tat, wenn Sie die Zeit, die mein EA (der, den ich gestern benutzt habe) gelaufen ist, zusammenzählen, und alle Konten zusammenzählen, würde es für ein paar Jahre gelaufen sein. Und gestern passierte es zum *ersten* Mal. Glauben Sie, dass das ein Fehler in meinem Code sein kann?


RaptorUK:

Halten Sie mich wirklich für so naiv, mehr als einen EA im Konto zu haben und dies dann als Problem zu melden?


Wie ich bereits sagte, ist der Hauptbeweis, dass die Registerkarte "Journal" den Auftrag enthält, aber die Registerkarte "Experten" *nicht*. Es ist buchstäblich unmöglich, dass ein EA den Auftrag sendet und der Experten-Tab ihn nicht meldet!

Ich könnte sowohl das Expertenprotokoll als auch das Journalprotokoll hier posten, aber aus Gründen des Datenschutzes ist das für mich nicht möglich. Ich glaube aber nicht, dass das notwendig ist. Wenn Sie glauben, dass ich beide Dateien lesen und Ihnen sagen kann, was in ihnen steht, dann glauben Sie, dass der gefälschte Auftrag im Journal-Protokoll enthalten ist und nicht im Experten-Protokoll, also wurde er von keinem Experten initiiert. Und natürlich wurde er auch nicht von mir initiiert.

Es ist wahr, dass ich gerne Ihre Unterstützung hätte, aber es ist zum Wohle von uns allen Nutzern. Wenn Sie der Meinung sind, dass überhaupt kein Fehler vorliegt, wird sich Metaquotes mehr Zeit nehmen, den Fehler zu bestätigen.

Ich fühlte mich verpflichtet, Ihnen dies mitzuteilen, und ich hoffe, dass Metaquotes zumindest eine Überprüfung vornimmt.

 
Ricardo1: Ihr verblüfft mich ein wenig. Ihr geht davon aus, dass ich etwas falsch machen muss, dass MT4 unmöglich Fehler haben kann. Hier werde ich auf Ihre Antworten eingehen.

Ich weiß nicht, wie ich das nett sagen soll, ohne jemanden wie Sie zu verärgern. Aber Sie müssen Ihre Einstellung ändern. Wenn jemand behauptet, etwas sei ein Fehler, bedeutet das, dass es reproduzierbar ist. Du hast keine Möglichkeit, den Fehler zu reproduzieren, behauptest, er passiere "beim *ersten* Mal", was auch immer das bedeutet, und stellst keinen Code zur Verfügung, um auszuschließen, dass der Code nicht das Problem ist. Wie soll man das aufspüren?

Ganz zu schweigen von den Millionen von Menschen, die diese Software nutzen, um wer weiß wie viele Millionen von Geschäften täglich zu tätigen; Sie sind die einzige Person, der das passiert. Glauben Sie mir, wenn es um Geld geht, wenn das jedem passieren würde (selten), würden wir alle in diesem Forum noch oft davon hören. Viele Leute kommen hierher und schreien nach Fehlern, und in 99 % der Fälle liegt das Problem in ihren Codes. Sobald ich aufgehört habe, Schuldzuweisungen zu machen, konnte ich viele meiner Programmierprobleme schneller lösen.

Ps: RaptorUK repräsentiert MetaQuotes nicht, er ist ein sozialer Moderator und seine Kommentare haben ungefähr so viel Gewicht wie Ihre/Meine. Warum kann es sich nicht um ein Problem mit dem Broker handeln? Bis andere anfangen, diesen Fehler von Ihnen zu melden, liegt die Beweislast IMO bei Ihnen.

 
Ricardo1:


RaptorUK:

Halten Sie mich wirklich für so naiv, mehr als einen EA im Konto zu haben und dies dann als Problem zu melden?


Wie ich bereits sagte, ist der Hauptbeweis, dass der Journal-Tab den Auftrag hat, aber der Experten-Tab *nicht*. Es ist buchstäblich unmöglich, dass ein EA den Auftrag sendet und der Experten-Tab ihn nicht meldet!

Ich könnte sowohl das Experten-Log als auch das Journal-Log hier posten, aber aus Gründen des Datenschutzes ist das für mich nicht möglich. Aber ich glaube nicht, dass das notwendig ist. Wenn Sie glauben, dass ich beide Dateien lesen und Ihnen sagen kann, was in ihnen steht, dann glauben Sie, dass der gefälschte Auftrag im Journal-Protokoll enthalten ist und nicht im Experten-Protokoll, so dass er von keinem Experten initiiert wurde. Und natürlich wurde er auch nicht von mir initiiert.

Es ist wahr, dass ich gerne Ihre Unterstützung hätte, aber es ist zum Wohle von uns allen Nutzern. Wenn Sie der Meinung sind, dass überhaupt kein Fehler vorliegt, wird sich Metaquotes mehr Zeit nehmen, den Fehler zu bestätigen.

Ich fühlte mich verpflichtet, Ihnen dies mitzuteilen, und ich hoffe, dass Metaquotes zumindest eine Überprüfung vornimmt.


Wie ich schon sagte ... es wurde schon einmal gemacht (ich habe nach dem Beitrag und meinen Antworten gesucht, konnte sie aber nicht finden) und der OP ging auch von einem MT4-Problem aus.

Wenn Sie keine Beweise zur Untersuchung und keine Methode zur Reproduktion des Problems posten, wie können Sie dann erwarten, dass irgendjemand das Problem untersucht und Ihnen hilft ? auf jeden Fall sollten Sie ein Service Desk-Problem melden, aber Sie scheinen keine nützlichen Informationen zur Identifizierung/Diagnose des Problems anbieten zu wollen. Um welchen Datenschutz machen Sie sich Sorgen? Sie können Ihre Kontonummern bearbeiten/entfernen (suchen und ersetzen) ... Sie müssen nicht das gesamte Protokoll posten, sondern nur den Zeitraum vom Start des EA bis zum Auftauchen der doppelten Bestellung ...

Schauen Sie in Ihre Order History, ist die Order dort? schreiben Sie ein kleines Skript, um die Order im History Pool abzufragen, um zu sehen, ob sie eine Magic Number hat, verwendet Ihr EA eine Magic Number? es gibt Dinge, die Sie tun können, um das zu untersuchen. . Sie werden wissen wollen, ob das Problem von Ihnen oder den von Ihnen eingesetzten EAs verursacht wird, Sie und alle anderen würden gerne wissen, ob es von MT4 verursacht wird. Es liegt in Ihren Händen, Sie haben die Informationen, wir nicht.

 

ubzen und RaptorUK: Herzlichen Dank für Ihre Antworten.

ubzen, Sie haben Recht, wenn Sie sagen: "Ganz zu schweigen von den Millionen von Menschen, die diese Software nutzen, um täglich weiß Gott wie viele Millionen von Geschäften zu tätigen; Sie sind die einzige Person, der das passiert." Auf diesen Einwand kann ich nicht antworten. Ich betreibe eine ganze Reihe von EAs auf mehreren Konten, und ich habe gesehen, dass dies dreimal mit Build 500 auf 2 verschiedenen Broker-Plattformen passiert ist. Da ich jedoch die Beweise selbst gesehen habe, zweifle ich nicht daran, auch wenn Hunderte oder Tausende von anderen noch nicht gesprochen haben.

Wenn Sie jedoch sagen: "Wenn jemand behauptet, dass etwas ein Fehler ist, bedeutet das, dass es reproduzierbar ist", dann muss ich sagen, dass Sie sich irren. Die schwierigsten Fehler sind genau die, die vom Benutzer nicht reproduzierbar sind. Sie treten selten auf, und wie die Software-Giganten wissen, kann es viel Zeit und Mühe kosten, sie aufzuspüren. Sie treten selten auf, weil sie bestimmte Bedingungen voraussetzen, die nicht immer unter der Kontrolle des Benutzers liegen. Jeder, der Microsoft Office ausgiebig nutzt, kann das bestätigen.

RaptorUK, vielen Dank für das Angebot, die Dateien ohne persönliche Daten zu veröffentlichen. Ich werde sie direkt in diesem Fenster posten und dabei meine persönlichen Daten weglassen. (ubzen: Ich denke nicht, dass die Beweislast bei mir liegt, da ich nichts beweisen muss, aber ich möchte es Ihnen zeigen, nur für den Fall, dass es jemanden interessiert).


Expertenlogbuch für 2013.06.11:

22:32:05 Expert Advisor 1 EURCHF,M15: Angeforderter Eröffnungskurs für BUY Order: 1.2307

22:32:07 Expert Advisor 1 EURCHF,M15: open #20212520 buy 0.01 EURCHF at 1.2307 sl: 1.2232 tp: 1.2320 ok

Journal log für 2013.06.11:

05:14:12 '000000': Anmeldung

05:14:30 '000000': Anmeldung

05:14:31 '000000': vorherige erfolgreiche Autorisierung von 201.141.75.152 durchgeführt

08:10:12 '000000': Anmeldung

08:10:17 '000000': Anmeldung

08:10:19 '000000': vorherige erfolgreiche Autorisierung durchgeführt von 201.141.75.152

20:33:35 '000000': Anmeldung

20:33:43 '000000': DataCenter-Verbindung fehlgeschlagen [2]

20:33:44 '000000': vorherige erfolgreiche Autorisierung durchgeführt von 201.141.75.152

22:32:06 '000000': Sofortige Order kaufen 0.01 EURCHF bei 1.2307 sl: 1.2232 tp: 1.2320

22:32:07 '000000': Anfrage wurde vom Server angenommen

22:32:07 '000000': Anfrage in Bearbeitung

22:32:07 '000000': Auftrag wurde eröffnet : #20212520 buy 0.01 EURCHF at 1.2307 sl: 1.2232 tp: 1.2320

22:32:08 '000000': Sofortiger Auftrag buy 0.01 EURCHF bei 1.2307 sl: 1.2232 tp: 1.2320

22:32:08 '000000': Anfrage wurde vom Server angenommen

22:32:08 '000000': Anfrage in Bearbeitung

22:32:10 '000000': Auftrag wurde eröffnet : #20212521 buy 0.01 EURCHF at 1.2307 sl: 1.2232 tp: 1.2320

23:07:26 '000000': der Handel mit einem Klick wurde aktiviert

23:07:31 '000000': schliesse Auftrag #20212521 buy 0.01 EURCHF bei 1.2307 sl: 1.2232 tp: 1.2320 zum Preis von 1.2291

23:07:32 '000000': Anfrage wurde vom Server angenommen

23:07:32 '000000': Anfrage in Bearbeitung

23:07:32 '000000': order #20212521 buy 0.01 EURCHF at 1.2307 sl: 1.2232 tp: 1.2320 closed at price 1.2291


Wie Sie sehen können, wurde die Order 20212520 vom Experten ausgelöst. Die Order 20212521 wurde jedoch NICHT ausgelöst. Dieser Scheinauftrag wurde manuell geschlossen (die letzten 5 Zeilen der Journaldatei entsprechen den manuellen Vorgängen).

Ich wiederhole mich hier, aber ich werde es noch einmal sagen: Da der Scheinauftrag 20212521 nicht im Sachverständigenprotokoll aufgeführt ist, wurde er nicht von einem Sachverständigen veranlasst, so dass der Code des Sachverständigen für diesen Zweck irrelevant ist.

 

Ricardo1:

...

Wie Sie sehen können, wurde der Auftrag 20212520 vom Sachverständigen initiiert. Auftrag 20212521 wurde jedoch NICHT initiiert. Dieser Scheinauftrag wurde manuell abgeschlossen (die letzten 5 Zeilen der Journaldatei entsprechen den manuellen Vorgängen).

Ich wiederhole mich hier, aber ich werde es noch einmal sagen: Da der Scheinauftrag 20212521 nicht im Expertenprotokoll aufgeführt ist, wurde er nicht von einem Experten initiiert, so dass der Code des Experten für diesen Zweck irrelevant ist.

Verwendet Ihr EA eine magische Zahl?

Wenn ja, dann können Sie überprüfen, ob Ihr "falscher" Auftrag eine magische Zahl hat. Sie können das in der Registerkarte "Historie" sehen: Scrollen Sie die Fenster, um den Auftrag zu sehen, dann platzieren Sie Ihre Maus auf diesen Auftrag (ohne zu klicken), ein Tooltip muss mit etwas wie angezeigt werden:

#20212521, id 12345

Wenn es keine magische Zahl gibt, fehlt das Feld id.

 
Ricardo1:


22:32:06 '000000': Sofortige Order kaufen 0.01 EURCHF bei 1.2307 sl: 1.2232 tp: 1.2320

22:32:07 '000000': Auftrag wurde vom Server angenommen
22:32:07 '000000': Auftrag in Bearbeitung
22:32:07 '000000': Auftrag wurde eröffnet: #20212520 buy 0.01 EURCHF at 1.2307 sl: 1.2232 tp: 1.2320

22:32:08 '000000': Sofortiger Auftrag buy 0.01 EURCHF bei 1.2307 sl: 1.2232 tp: 1.2320
22:32:08 '000000': Anfrage wurde vom Server angenommen
22:32:08 '000000': Anfrage in Bearbeitung
22:32:10 '000000': Auftrag wurde eröffnet : #20212521 buy 0.01 EURCHF at 1.2307 sl: 1.2232 tp: 1.2320


Wie Sie sehen können, wurde die Order 20212520 vom Experten ausgelöst. Die Order 20212521 wurde jedoch NICHT ausgelöst.

Was ich sehe, ist, dass der EA eine Order eröffnet hat und eine Sekunde später eine weitere. Nicht, dass zwei Pakete zusammen ausgegangen sind.

Setzen Sie eine Print-Anweisung vor und nach dem OrderSend und beweisen Sie , dass Sie es zweimal aufrufen.

 
angevoyageur:

Verwendet Ihr EA eine magische Zahl?

Wenn ja, dann können Sie überprüfen, ob Ihre "gefälschte" Bestellung eine magische Zahl haben. Sie können das in der Registerkarte "Historie" sehen: Scrollen Sie die Fenster, um die Bestellung zu sehen, dann platzieren Sie Ihre Maus auf diese Bestellung (ohne zu klicken), ein Tooltip muss mit etwas wie angezeigt werden:

#20212521, id 12345

Wenn es keine magische Zahl gibt, fehlt das Feld id.



Alles im gefälschten Auftrag ist dasselbe wie im ursprünglichen Auftrag, einschließlich Kommentar und magischer Zahl. Der EA hat ihn jedoch nicht gesendet; wie gesagt, das Expertenprotokoll beweist es.
Grund der Beschwerde: