![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Gibt es Neuigkeiten vom Service Desk?
Nein, noch nicht.
Hallo!
Gibt es schon Neuigkeiten vom Service Desk?
Hallo!
Gibt es schon Neuigkeiten vom Service Desk?
Forum über Handel, automatisierte Handelssysteme und das Testen von Handelsstrategien
Mein EA macht einen doppelten Eintrag
angevoyageur, 2013.12.27 16:49
Noch nicht.Sie können sicher sein, dass ich die Antwort hier posten werde, wenn ich eine bekomme.
Persönlich bin ich nochnicht dazu gekommen, das Problem zu reproduzieren.
Mein EA generiert Signale sehr langsam und heute hat er einen Handel gemacht.
Kein Problem mit der Losgröße, nachdem ich den neuen Code verwenden, aber ich kann nicht bestätigt, dass der neue Code funktioniert.
Mein EA generiert Signale sehr langsam und heute hat er einen Handel gemacht.
Kein Problem mit der Losgröße, nachdem ich den neuen Code verwendet habe, aber ich kann nicht bestätigen, dass der neue Code funktioniert.
Hallo Doshur,
Noch keine Antwort vom ServiceDesk. Aber Ihr Problem "beunruhigt" mich
Können Sie bestätigen, dass Sie dieses Problem der doppelten Trades auf einem echten Konto und nicht auf einem Demokonto haben? (Ich kann dieses Problem auf meinem Demokonto nicht reproduzieren).
Auch durch die Überprüfung noch einmal Ihre Beiträge, bemerke ich jetzt dieses Protokoll :
Forum über Handel, automatisierte Handelssysteme und das Testen von Handelsstrategien
Mein EA macht einen doppelten Eintrag
(based on order #40018327) DEAL2 - Entry 3
2013.12.20 08:35:01 Trades '800****': exchange buy 0.01 EURUSD at market placed for execution in 331 ms DEAL2- Entry 2
2013.12.20 08:35:01 Trades '800****': deal #27731691 buy 0.01 EURUSD at 1.36353 done (based on order #40018326) DEAL 1 - Entry 3
2013.12.20 08:35:00 Trades '800****': exchange buy 0.01 EURUSD at market DEAL2 - Eintrag 1
2013.12.20 08:35:00 Trades '800****': exchange buy 0.01 EURUSD at market placed for execution in 313 ms DEAL1 - Entry 2
2013.12.20 08:35:00 Trades '800****': Börsenkauf 0,01 EURUSD am Markt DEAL1- Eintrag 1
Wenn ich das richtig verstehe, bestätigt es, dass das Problem darin besteht, dass PositionSelect() immer noch falsch ist, während eine neue Position eröffnet wird. In der Tat kann man sehen, dass 1 Handel zu 3 Einträgen führt, und der zweite Handel wird eingeleitet, bevor der dritte Eintrag für Handel 1 eintrifft (Bestätigung des neuen Handels/der neuen Position).
Über die Abhilfe mit Sleep() Funktion, ich bin nicht zufrieden mit diesem, da es keine Möglichkeit zu wissen, welche Verzögerung zu verwenden. Je größer die Verzögerung ist, desto geringer ist die Chance auf einen "doppelten Handel", aber dennoch ist es möglich. Ich bin also immer noch auf der Suche nach einer besseren Lösung.
Über die Umgehung mit Sleep() Funktion, ich bin nicht zufrieden mit diesem, da es keine Möglichkeit zu wissen, welche Verzögerung zu verwenden. Natürlich mehr diese Verzögerung ist groß, weniger ist die Chance, einen "doppelten Handel" zu erhalten, aber immer noch ist es möglich. Ich bin also immer noch auf der Suche nach einer besseren Lösung.
Sorry, wenn ich falsch bin, wie ich gerade hier in diesem Thema angekommen, aber sieht aus wie dieser Code könnte eine bessere Abhilfe als nur Sleep(), und würde helfen, das Problem und die wirkliche notwendige Verzögerung Wert identifizieren:
Hallo Doshur,
Noch keine Antwort vom ServiceDesk. Ihr Problem beunruhigt mich jedoch. Können Sie bestätigen, dass Sie dieses Problem der doppelten Trades auf einem echten Konto und nicht auf einem Demokonto haben? (Ich kann dieses Problem auf meinem Demokonto nicht reproduzieren).
Auch durch die Überprüfung noch einmal Ihre Beiträge, bemerke ich jetzt dieses Protokoll :
Wenn ich es richtig verstehe, bestätigt es, dass das Problem darin besteht, dass PositionSelect() noch falsch ist, während eine neue Position eröffnet wird. In der Tat kann man sehen, dass 1 Handel zu 3 Einträgen führt, und der zweite Handel wird eingeleitet, bevor der dritte Eintrag für Handel 1 eintrifft (Bestätigung des neuen Handels/der neuen Position).
Was die Umgehung mit der Funktion Sleep() betrifft, so bin ich damit nicht zufrieden, da es keine Möglichkeit gibt, die zu verwendende Verzögerung zu bestimmen. Je größer die Verzögerung ist, desto geringer ist die Chance, einen "doppelten Handel" zu erhalten, aber es ist trotzdem möglich. Ich bin also immer noch auf der Suche nach einer besseren Lösung.
Tut mir leid, wenn ich falsch liege, da ich gerade erst in diesem Thema gelandet bin, aber es sieht so aus, als ob dieser Code eine bessere Abhilfe als Sleep() sein könnte und helfen würde, das Problem und den wirklich notwendigen Verzögerungswert zu identifizieren:
Interessante Idee. Ich werde sie verwenden, um das Problem zu identifizieren, aber ich mag die Sleep()-Funktion nicht
Obwohl es jedem freisteht, seine Lösung zu wählen.
Vielen Dank!
Interessante Idee. Ich werde sie nutzen, um das Problem zu identifizieren, aber ich mag die Sleep()-Funktion nicht, obwohl es jedem freisteht, seine Lösung zu wählen.
Ich danke Ihnen.
Sie sind willkommen, diese Lösung ist nur ein Workaround, ich mag nicht Sleep auch, da Sie Ticks verlieren. Wahrscheinlich wären Semaphore/Flags oder sogar Zustandsautomaten sicherer/effizienter/eleganter.