Problem bei der Eingabe mehrerer Aufträge für ein Live-Konto bei einem bestimmten Broker - Seite 3
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
HalloFinanceEngineer, vielleicht wäre es besser, das Problem mit den Mehrfachaufträgen in Ihrem ursprünglichen Code zu überprüfen, denn wenn wir das tun, werden wir wahrscheinlich andere kritische Punkte hier ansprechen und nicht den Fokus verlieren.
Hallo figurelli
Dies ist mein neuer Code. Ich habe ihn geändert, da ich in diesem Thread das Problem der Mehrfachorder angesprochen habe.
Bis jetzt funktioniert dieser Code gut mit mehreren Brokern. BlindMist kann diesen Code ausprobieren, um zu sehen, ob er das Multiple-Order-Problem mit diesem Broker vermeiden kann.
Hallo figurelli
Dies ist mein neuer Code. Ich habe ihn geändert, da ich in diesem Thread das Problem der Mehrfachorder angesprochen habe.
Bis jetzt funktioniert dieser Code gut mit mehreren Brokern. BlindMist kann diesen Code ausprobieren, um zu sehen, ob er das Problem der Mehrfachbestellungen mit diesem Broker vermeiden kann.
Bitte verwenden Sie die SRC-Taste, wenn Sie den Code posten.
Der Code, den Sie gepostet haben, kann nicht (alle) Doppelaufträge vermeiden, und im Gegenteil, er kann in einigen Fällen Doppelaufträge provozieren.
Bitte verwenden Sie die SRC-Schaltfläche, wenn Sie den Code posten.
Der Code, den Sie gepostet haben, kann nicht (alle) Doppelbestellungen vermeiden, und im Gegenteil, er kann in einigen Fällen Doppelbestellungen provozieren.
Hallo figurelli
Dies ist mein neuer Code. Ich habe ihn geändert, da ich in diesem Thread das Problem der Mehrfachorder angesprochen habe.
Bis jetzt funktioniert dieser Code gut mit mehreren Brokern. BlindMist kann diesen Code ausprobieren, um zu sehen, ob er das Problem der Mehrfachaufträge mit diesem Broker vermeiden kann.
HalloFinanceEngineer, beachten Sie, dass Sie in Ihrem ursprünglichen Code Print("OrderSend Code: "...) bei if { } und else { } haben.
Aber else { } hat einen Break, und Ihr Debug-Code zeigt retcode = 10008 (TRADE_RETCODE_PLACED) x 10.
Daraus lässt sich schließen, dass Sie den Debug-Code der if { }-Bedingung gedruckt haben und der Break nie verwendet wurde.
Jetzt haben Sie Ihren Code geändert, und es sieht klarer aus, aber beachten Sie, dass Sie nicht mehr den Rückgabewert von OrderSend() testen, sondern nur den result.retcode. Sie könnten dies mit der Variablen checkOrderSend (*** siehe hier) korrigieren, nach der ich zuvor gefragt habe:
Meiner Meinung nach sollten Sie als Erstes diesen Test korrigieren und mit demselben problematischen Broker, den Sie gemeldet haben, erneut testen. Wenn das Problem nicht mehr auftritt, herzlichen Glückwunsch, Sie haben den Fehler wirklich gelöst, d.h. das bedeutet nicht, dass Ihr Code zukunftssicher oder der sicherste ist, sondern dass wir den Fehler gefunden haben.
Eigentlich können Sie es vergessen oder vermeiden, Ihren Code erneut zu ändern, da der Fehler nicht mehr auftritt, allerdings müssen Sie in diesem Fall darauf achten, dass Sie den Rückgabewert von OrderSend() nicht mehr testen.
Ich hoffe, diese Informationen können Ihnen helfen.
HalloFinanceEngineer, beachten Sie, dass Sie in Ihrem ursprünglichen Code Print("OrderSend Code: "...) bei if { } und else { } haben.
Aber else { } hat einen Break, und Ihr Debug-Code zeigt retcode = 10008 (TRADE_RETCODE_PLACED) x 10.
Daraus lässt sich schließen, dass Sie den Debug-Code der if { }-Bedingung gedruckt haben und der Break nie verwendet wurde.
Jetzt haben Sie Ihren Code geändert, und es sieht klarer aus, aber beachten Sie, dass Sie nicht mehr den Rückgabewert von OrderSend() testen, sondern nur den result.retcode. Sie könnten dies mit der Variablen checkOrderSend (*** siehe hier) korrigieren, nach der ich zuvor gefragt hatte:
Meiner Meinung nach sollten Sie als Erstes diesen Test korrigieren und mit demselben problematischen Broker, den Sie gemeldet haben, erneut testen. Wenn das Problem nicht mehr auftritt, herzlichen Glückwunsch, Sie haben den Fehler wirklich gelöst, d.h. das bedeutet nicht, dass Ihr Code zukunftssicher oder der sicherste ist, sondern dass wir den Fehler gefunden haben.
Eigentlich können Sie es vergessen oder vermeiden, Ihren Code erneut zu ändern, da der Fehler nicht mehr auftritt, allerdings müssen Sie in diesem Fall darauf achten, dass Sie den Rückgabewert von OrderSend() nicht mehr testen.
Ich hoffe, diese Informationen können Ihnen helfen.
Was ist mit dem Rückgabecode 10010?
Die Double Entry Order kann bei jedem Broker auftreten, die Wahrscheinlichkeit, dass sie bei Alpari auftritt, ist einfach größer, da Sie viel mehr Ticks erhalten.
Was ist mit dem Rückgabecode 10010?
Die Double-Entry-Order kann bei jedem Broker vorkommen, die Wahrscheinlichkeit, sie bei Alpari zu erhalten, ist einfach größer, da Sie viel mehr Ticks erhalten.
HalloFinanceEngineer, beachten Sie, dass Sie in Ihrem ursprünglichen Code Print("OrderSend Code: "...) bei if { } und else { } haben.
Aber else { } hat einen Break, und Ihr Debug-Code zeigt retcode = 10008 (TRADE_RETCODE_PLACED) x 10.
Daraus lässt sich schließen, dass Sie den Debug-Code der if { }-Bedingung gedruckt haben und Ihr Break nie verwendet wurde.
Jetzt haben Sie Ihren Code geändert, und es sieht klarer aus, aber beachten Sie, dass Sie nicht mehr den Rückgabewert von OrderSend() testen, sondern nur den result.retcode. Sie könnten dies mit der Variablen checkOrderSend (*** siehe hier) korrigieren, nach der ich zuvor gefragt habe:
Meiner Meinung nach sollten Sie als Erstes diesen Test korrigieren und mit demselben problematischen Broker, den Sie gemeldet haben, erneut testen. Wenn das Problem nicht mehr auftritt, herzlichen Glückwunsch, Sie haben den Fehler wirklich gelöst, d.h. das bedeutet nicht, dass Ihr Code zukunftssicher oder der sicherste ist, sondern dass wir den Fehler gefunden haben.
Eigentlich können Sie es vergessen oder vermeiden, Ihren Code erneut zu ändern, da der Fehler nicht mehr auftritt, allerdings müssen Sie in diesem Fall darauf achten, dass Sie den Rückgabewert von OrderSend() nicht mehr testen.
Ich hoffe, diese Informationen können Ihnen helfen.
Hallo
Ich weiß, es klingt seltsam. Wenn ich den zurückgegebenen Wert von OrderSend(request,result) im vorherigen Code überprüfte, bekam ich das Problem der Mehrfachbestellung. In meinem neuen Code überprüfe ich den zurückgegebenen Wert von OrderSend(request,result) nicht (aber ich habe den zurückgegebenen Wert immer noch einer Variablen zugewiesen, um einen Fehler beim neuen Build des Terminals zu vermeiden.
Mit dem neuen Code habe ich das Problem der Mehrfachbestellung nicht. Ich habe Alpari UK verwendet, das den Ruf hat, viele Ticks zu senden. Mein Code mag nicht perfekt sein, aber denken Sie mal so. Es gibt eine ganze Reihe von zurückgegebenen Codes, die in Meta Trader 5 überprüft werden müssen.
Erstens der von OrderCheck zurückgegebene Wert, zweitens der von OrderSend zurückgegebene Wert und drittens der in result.retcode zugewiesene Rückgabewert. Ich denke, unabhängig von den ersten beiden zurückgegebenen Werten sollten wir uns vor allem für den letzten Wert und die Menge des tatsächlich ausgeführten Volumens interessieren.
Auf der Grundlage dieser Tatsache habe ich meinen Code vereinfacht, indem ich direkt den result.retcode überprüft habe. Bitte korrigieren Sie mich, wenn ich falsch liege. Ich denke, die Orderausführung im MT5 ist sicherlich viel komplexer als im MT4 und viele von uns sind verwirrt.
Wenn wir nicht in der Lage sind, einen klaren Fall nur mit Logik zu erstellen, dann können wir einen klaren Fall mit Experimenten erstellen. Daher empfehle ich BlindMist oder anderen Leuten, diesen Code mit ihrem Broker auszuprobieren, um zu sehen, ob das Überspringen der OrderSend-Funktion tatsächlich hilfreich sein könnte.
Mit freundlichen Grüßen.
Wenn Sie mich fragen, wie ich bereits gesagt habe, halte ich diesen Code nicht für zukunftssicher und sicher genug, und dies ist nur ein Beispiel für das Fehlen eines Rückgabecodes, also lesen Sie bitte noch einmal.
Ich habe eine Frage an alle, die sich an diesem Thema beteiligen. Ich habe Ihre Nachricht über den Code 10010 verpasst, wo ist er?
Ich habe eine Frage an alle, die sich an diesem Thema beteiligen. Ich habe Ihre Nachricht über den Code 10010 verpasst, wo ist er?
Hallo Alain,
Es ist mir nicht klar, was Sie wissen müssen, da wir nur über den neuen Code von FinanceEngineer sprechen und einen Ratschlag zum Testen des Rückgabecodes von OrderSend(), der gegenüber dem ursprünglichen Code geändert wurde.
Beachten Sie, dass sowohl sein ursprünglicher als auch sein neuer Code keinen Test des Codes 10010 haben. Wenn es also für Sie relevant ist, warum haben Sie nicht schon im ersten Beitrag von ihm danach gefragt?
Wie auch immer, können Sie erklären, warum Sie den Code 10010-Test für eine FOK-Füllungspolitik benötigen?
Da dies nicht das erste Mal ist, dass ich Sie und andere Moderatoren darüber sprechen sehe, kennen Sie einige Fälle, in denen es wirklich notwendig ist, diesen Code-Test für FOK (Fill Or Kill)-Aufträge, die Sie mit uns teilen könnten?
Vielen Dank im Voraus.
Hallo
ich weiß, es klingt seltsam. Wenn ich den zurückgegebenen Wert von OrderSend(request,result) im vorherigen Code überprüfte, bekam ich das Problem der Mehrfachbestellung. In meinem neuen Code überprüfe ich den zurückgegebenen Wert von OrderSend(request,result) nicht (aber ich habe den zurückgegebenen Wert immer noch einer Variablen zugewiesen, um Fehler bei einer neuen Version des Terminals zu vermeiden.
Mit dem neuen Code habe ich das Problem der Mehrfachbestellung nicht. Ich habe Alpari UK verwendet, das den Ruf hat, viele Ticks zu senden. Mein Code mag nicht perfekt sein, aber denken Sie mal so. Es gibt eine ganze Reihe von zurückgegebenen Codes, die in Meta Trader 5 überprüft werden müssen.
Erstens der von OrderCheck zurückgegebene Wert, zweitens der von OrderSend zurückgegebene Wert und drittens der in result.retcode zugewiesene Rückgabewert. Ich denke, unabhängig von den ersten beiden zurückgegebenen Werten sollten wir uns vor allem für den letzten Wert und die Menge des tatsächlich ausgeführten Volumens interessieren.
Auf der Grundlage dieser Tatsache habe ich meinen Code vereinfacht, indem ich direkt den result.retcode überprüft habe. Bitte korrigieren Sie mich, wenn ich falsch liege. Ich denke, die Orderausführung im MT5 ist sicherlich viel komplexer als im MT4 und viele von uns sind verwirrt.
Wenn wir nicht in der Lage sind, einen klaren Fall nur mit Logik zu erstellen, dann können wir einen klaren Fall mit Experimenten erstellen. Daher empfehle ich BlindMist oder anderen Leuten, diesen Code mit ihrem Broker auszuprobieren, um zu sehen, ob das Überspringen der OrderSend-Funktion tatsächlich hilfreich sein könnte.
Mit freundlichen Grüßen.