Problem mit MT4, das ein Geschäft öffnet und es dann sofort wieder schließt - Seite 6

 
peterc005:


MT4\Experts\Logs Ordner:

17:28:48 FapTurbo50 EURUSDFXF,M5: open #2662451 buy 0.20 EURUSDFXF at 1.2909 ok

17:28:49 FapTurbo50 EURUSDFXF,M5: modify #2662451 buy 0.20 EURUSDFXF at 1.2909 sl: 1.2407 tp: 1.2929 ok


Was sind die nächsten Zeilen in diesem Log? Bitte alle Zeilen und nicht "gefiltert" nach dem, was Sie für wichtig oder unwichtig halten, sondern einfach nur die rohen Log-Einträge. Insbesondere alle mit den gleichen oder fast gleichen Zeitstempeln auf allen anderen Terminals.


Vielleicht ist auch ein seltsamer FIFO-Automatismus im Gange? Ich habe schon erlebt, dass Broker automatisch und ohne Vorankündigung bestehende Stoplosses verschieben, vielleicht schließen manche sogar bestehende Trades, wenn andere Trades eröffnet werden? In diesem Fall müssten Sie den Regulierungsbehörden dafür danken, dass sie Ihr Geld erfolgreich "schützen".


Und wie sieht es mit Ihrer freien Marge aus, wenn dies geschieht? Ist sie auch nur annähernd gefährlich niedrig?

 
Noch nicht endgültig bewiesen, aber ich vermute, das Problem ist die Wahrscheinlichkeit EA

Hier sind die Gründe:

1) Ich habe Probability EA ein paar Mal auf verschiedenen Konten ein- und ausgeschaltet, und die Zeiten, zu denen Probability EA lief, scheinen mit den Zeiten übereinzustimmen, zu denen ich all diese Geschäfte fälschlicherweise geschlossen habe.

2) Mir ist aufgefallen, dass FAP Turbo normalerweise Öffnungs- und Schließungsdatensätze in das Expertenprotokoll schreibt (danke für den Vorschlag 7bit).

3) Ich habe festgestellt, dass die ca. 50 FAP Turbo-Geschäfte, die nach ein paar Sekunden geschlossen wurden, einen Open-Datensatz, aber keinen Close-Datensatz im Expertenprotokoll hatten.

4) Ich beobachte, dass Probability EA offenbar nicht in das Expertenprotokoll schreibt.

5) Dies deutet darauf hin, dass FAP Turbo die Geschäfte ordnungsgemäß geöffnet und einen Datensatz in das Expertenprotokoll geschrieben hat. Probability EA schloss dann das Geschäft, schrieb aber nichts in das Expertenprotokoll. Auf der Grundlage des Signals eröffnete FAP Turbo dann ein weiteres Geschäft und wiederholte die Schleife viele Male.

Die Beweise verdichten sich, aber es ist noch zu früh, um Schlussfolgerungen zu ziehen. Ich habe mich mit dem Anbieter des Probability EA in Verbindung gesetzt, um weitere Informationen zu erhalten. Ich werde den EA auch dekompilieren, um zu sehen, ob es offensichtliche Logikfehler gibt.

 

Erscheinen die roten Pfeile (nach links zeigende Dreiecke oder Pfeile) im Wahrscheinlichkeits-EA-Diagramm zu den Zeiten, zu denen die FAP-Geschäfte geschlossen werden?

Wenn Sie mit der Maus über diese Pfeile im ProbabilityEA-Diagramm fahren, so dass das kleine gelbe Hinweisfenster erscheint, entsprechen dann die Ticketnummern in diesen Hinweisen den falsch geschlossenen FAP-Geschäften? (z. B. im Diagramm auf dem Screenshot, den Sie im FF-Forum gepostet haben)

 
peterc005: Ich werde den EA auch dekompilieren, um zu sehen, ob es irgendwelche offensichtlichen Logikfehler gibt.

Fügen Sie ein Print() vor jedem OrderClose() und OrderCloseBy() ein, kompilieren Sie den geänderten Code und führen Sie diesen anstelle des Originals aus.


Achten Sie auf das Vorhandensein (oder Fehlen) eines Aufrufs von OrderMagicNumber() in der Nähe von OrderClose() oder OrderCloseBy() im Code.

Achten Sie auch auf alles, was zwischen der Prüfung und der Schließung liegt und die aktuell ausgewählte Order verändern könnte (wie z. B. eine weitere Schleife über alle Orders, um eine gegenläufige oder anderweitig verwandte Order zu finden; dies würde die aktuelle Auswahl auf etwas völlig Unvorhersehbares ändern, und ein darauf folgendes OrderClose(OrderTicket(),...) würde dann unweigerlich Chaos im Konto anrichten ). Jeder Auftrag muss gegen die magische Zahl geprüft werden, bevor er geschlossen werden kann. Wird diese Prüfung nicht oder falsch durchgeführt, kommt es zu dieser Art von Fehlern, da jeder EA immer Zugriff auf alle Trades auf dem Konto hat und dafür verantwortlich ist, diese sorgfältig zu filtern.

Es gibt keinen impliziten Filter-Mechanismus von MT4, der einen EA irgendwie automatisch vor anderen Trades auf anderen Charts abschirmt, jeder EA muss dies komplett selbst implementieren (und kann dabei kläglich scheitern).

 
7bit:

Fügen Sie ein Print() vor jedem OrderClose() und OrderCloseBy() ein, kompilieren Sie den geänderten Code und führen Sie diesen anstelle des Originals aus.


Achten Sie auf das Vorhandensein (oder Fehlen) eines Aufrufs von OrderMagicNumber() in der Nähe eines OrderClose() oder OrderCloseBy() im Code.

Achten Sie auch auf alles, was zwischen der Prüfung und der Schließung liegt und die aktuell ausgewählte Order verändern könnte (wie z.B. eine weitere Schleife über alle Orders, um eine gegenläufige oder anderweitig verwandte Order zu finden, dies würde die aktuelle Auswahl in etwas völlig Unvorhersehbares ändern und ein darauf folgendes OrderClose(OrderTicket(),...) würde dann unweigerlich Chaos im Konto anrichten ). Jeder Auftrag muss gegen die magische Zahl geprüft werden, bevor er geschlossen werden kann. Wird diese Prüfung nicht oder falsch durchgeführt, kommt es zu dieser Art von Fehlern, da jeder EA immer Zugriff auf alle Trades auf dem Konto hat und dafür verantwortlich ist, diese sorgfältig zu filtern.

Es gibt keinen impliziten Filter-Mechanismus von MT4, der einen EA irgendwie automatisch vor anderen Trades auf anderen Charts abschirmt, jeder EA muss das komplett selbst implementieren (und kann dabei kläglich scheitern).

Hallo 7bit,

klingt nach einer guten Idee, ich werde es ausprobieren.

Viele Grüße

Peter

 

In Bezug auf ein paar frühere Fragen:

1) Ich glaube nicht, dass die Verwendung eines ECN-Brokers (insbesondere GoMarkets) einen Unterschied bei diesem Problem macht. Hatte das gleiche Problem mit forex.com. Im Allgemeinen mag ich GoMarkets und denke, dass sie gut sind.

2) Ich glaube nicht, dass es mit der Marge oder dem Eigenkapital zu tun hat. Der Grund dafür ist, dass "s/o" zu den Kommentaren hinzugefügt wird, wenn ein Geschäft aufgrund von unzureichendem Eigenkapital geschlossen wird.

Peter

 

Es stellte sich heraus, dass das Problem in Version 7.1 von Probability EA lag. Hier ist die Antwort des Herstellers:

peterc005,

Dieses Problem wurde mit Version 7.1.1 (im Gegensatz zu Version 7.1) behoben. Ursprünglich hatte ich die Magic Number jedes Mal um 1 verringert, wenn ein Zyklus geschlossen wurde (was den EA benachrichtigte, den Zyklus zu schließen). Das funktioniert gut, wenn der EA als einziger läuft, aber als die Leute diesen EA zusätzlich zu anderen EAs verwenden wollten, habe ich den Code so geändert, dass die Magic Number konstant bleibt und der EA andere Möglichkeiten zum Schließen des Zyklus verwendet.

Ich schicke Ihnen eine Kopie von v7.1.1 und lasse Sie wissen, ob Sie das Problem immer noch haben.

Michael

Ich schätze die Ehrlichkeit und Offenheit des Anbieters, aber dieses Problem mit dem EA hat mich über 5.000 Dollar gekostet und 3 Konten über ein paar Monate zerstört.

 

"Ich habe zunächst die magische Zahl jedes Mal um 1 verringert, wenn ein Zyklus geschlossen wurde.

Es scheint, dass der Entwickler dieses EA nicht weiß, was der Zweck der magischen Zahlen ist. Das bedeutet, dass er sich in einem frühen Experimentierstadium befindet, aber bereits seinen fehlerhaften und fehlerhaften Anfängercode für Geld verkauft. Dies bestätigt alles, was ich über die Codequalität dieser kommerziellen EAs gesagt habe. Ich würde diesen Dingen kein Geld anvertrauen.


Die Lektion, die hier zu lernen ist, muss lauten: Trauen Sie keinen Closed-Source-EAs. Die Nichtverfügbarkeit des Quellcodes garantiert eine schlechte Codequalität.

 

Lieber Peterc005

Ich hatte ein ähnliches Problem auf meinem VPS, es stellt sich heraus, dass eine andere Instanz von Metatrader aus dem gleichen Verzeichnis im Hintergrund läuft und die offenen Trades des ersten Metatraders schließt.

Versuchen Sie, alle MetaTrader zu schließen und öffnen Sie dann den TaskManager, um zu sehen, ob eine Instanz von Terminal.exe läuft. Wenn ja, starten Sie Ihren Rechner neu und das Problem ist gelöst.

Sie können bei Google nach Ghost detector suchen, um mehr über dieses Problem herauszufinden.