Antwort

Problem mit dem Löschen ausstehender Aufträge

8 Antworten

mikeyc

Kunde, bbp_participant, Gemeinschaft, 877 Antworten.

Profil besuchen

vor 7 Jahren #115445

Hallo,

 

Ich habe eine Strategie, die schwebende Aufträge ersetzt. Allerdings gibt es ein Problem mit der MQ4, die SQ generiert, dass während eines kleinen Zeitfensters, wenn das ECN keine Aufträge akzeptiert, wenn der EA, der von SQ generiert wird, versucht, einen schwebenden Auftrag zu löschen, wird es fehlschlagen, und es wird nicht sie den Auftrag löschen:

 

2016.08.14 22:00:25.027 '946624': Löschen der Pending Order #9901877 sell stop 0.01 EURUSD bei 1.11528 sl: 1.14488 tp: 1.11008 fehlgeschlagen [Markt ist geschlossen]

2016.08.11 22:00:04.839 '946624': Löschung der Pending Order #9877449 buy stop 0.01 EURUSD bei 1.11581 sl: 1.08621 tp: 1.12101 fehlgeschlagen [Markt ist geschlossen]

 

Es muss einen Mechanismus zur Wiederholung der Löschung des ausstehenden Auftrags geben.

 

Danke,

 

Mike

0

mabi

Kunde, bbp_participant, Gemeinschaft, 261 Antworten.

Profil besuchen

vor 7 Jahren #138831

 In Ninjatrader beendet sich die Strategie selbst, wenn dies geschieht. Also ist es ein Problem für diese Plattform als gut.

0

Schwellenwert

Kunde, bbp_participant, Gemeinschaft, 723 Antworten.

Profil besuchen

vor 7 Jahren #138835

Auch "Ausstieg am Freitag" scheint am Montag zu öffnen. Ich habe es nie erwähnt, bevor, weil es neigt dazu, zu meinen Gunsten zu arbeiten (Gaps neigen dazu, in Richtung der Freitag-Dynamik sein).

0

clonex / Ivan Hudec

Kunde, bbp_participant, community, sq-ultimate, Mitwirkender, Autor, Herausgeber, 271 Antworten.

Profil besuchen

vor 7 Jahren #138836

Mein Problem auch. Exit am Freitag ist Exit am Donnerstag um 22.00 Uhr; ich musste diese Option ausschalten. Mikeyc dasselbe Problem.

0

tomas262

Administrator, sq-ultimate, 2 Antworten.

Profil besuchen

vor 7 Jahren #138838

Hallo,

Der Freitagsexit sollte korrekt funktionieren. Welche Zeit haben Sie mit Ihrem EA eingestellt?

0

FILIPE BONALDO ACERBI

Kunde, bbp_participant, Gemeinschaft, 27 Antworten.

Profil besuchen

vor 6 Jahren #201039

Hallo,

Ich habe das gleiche Problem einmal pro Tag um 22:00 Uhr Brokerzeit. Ich habe den Fehler "Markt ist geschlossen":

2017.11.08 22:02:12.599
USDJPY D1 23.46 USDJPY.m,Daily: 2017.11.09 00:02:19 Order geändert, StopLoss: 0, Gewinnziel: 0
2017.11.08 22:02:12.599
USDJPY D1 23.46 USDJPY.m,Daily: modifizieren #175062574 verkaufen stop 0.86 USDJPY.m bei 111.617 sl: 112.141 tp: 108.668 ok
2017.11.08 22:02:12.162
USDJPY D1 23.46 USDJPY.m,Täglich: 2017.11.09 00:02:19 Einstellung SL/PT, SL: 112.141, PT: 108.668
2017.11.08 22:02:12.162
USDJPY D1 23.46 USDJPY.m,Täglich: 2017.11.09 00:02:19 Order eröffnet: 175062574 zu Preis:111.617
2017.11.08 22:02:12.162
USDJPY D1 23.46 USDJPY.m,Daily: open #175062574 sell stop 0.86 USDJPY.m at 111.617 ok
2017.11.08 22:02:11.677
USDJPY D1 23.46 USDJPY.m,Täglich: 2017.11.09 00:02:19 Eröffnungsorder, Richtung: 5, Preis: 111.617, Ask: 113.893, Bid: 113.864
2017.11.08 22:01:37.521
USDJPY D1 23.46 USDJPY.m,Daily: 2017.11.09 00:01:44 Fehler bei der Ordereröffnung: 132 : Markt ist geschlossen
2017.11.08 22:01:37.396
USDJPY D1 23.46 USDJPY.m,Täglich: 2017.11.09 00:01:44 Eröffnungsorder, Richtung: 5, Preis: 111.617, Ask: 113.893, Bid: 113.864
2017.11.08 22:01:03.677
USDJPY D1 23.46 USDJPY.m,Daily: 2017.11.09 00:01:12 Fehler bei der Ordereröffnung: 132 : Markt ist geschlossen
2017.11.08 22:01:03.521
USDJPY D1 23.46 USDJPY.m,Täglich: 2017.11.09 00:01:11 Eröffnungsauftrag, Richtung: 5, Preis: 111.617, Ask: 113.893, Bid: 113.864
2017.11.08 22:00:29.568
USDJPY D1 23.46 USDJPY.m,Daily: 2017.11.09 00:00:35 Fehler bei der Eröffnung des Auftrags: 132 : Markt ist geschlossen
2017.11.08 22:00:29.365
USDJPY D1 23.46 USDJPY.m,Täglich: 2017.11.09 00:00:35 Eröffnungsorder, Richtung: 5, Preis: 111.617, Ask: 113.893, Bid: 113.864
2017.11.08 21:59:55.349
USDJPY D1 23.46 USDJPY.m,Daily: 2017.11.09 00:00:03 Fehler bei der Ordereröffnung: 132 : Markt ist geschlossen
2017.11.08 21:59:55.052
USDJPY D1 23.46 USDJPY.m,Täglich: 2017.11.09 00:00:02 Eröffnungsorder, Richtung: 5, Preis: 111.617, Ask: 113.893, Bid: 113.864
2017.11.08 21:59:55.052
USDJPY D1 23.46 USDJPY.m,Daily: 2017.11.09 00:00:02 Cannot close existing previous pending order with ticket: 174815678, Grund: 132

Wenn wir uns den obigen Verlauf ansehen, hat der EA 4 Versuche unternommen, bis er die Order 175062574 erfolgreich eröffnet hat. Aber das Problem sind die fehlgeschlagenen Versuche, die vorherige Order zu ändern oder zu schließen. Im obigen Beispiel versuchte der EA erfolglos, die Order 174815678 zu schließen. Es versuchte einmal und scheiterte, so habe ich eine offene Bestellung, die geschlossen worden sein sollte, aber weil dieser Fehler, seine noch geöffnet.

Ich muss die Order 174815678 manuell schließen und den EA neu starten. Als ich dies tat, öffnete der EA den richtigen Auftrag (siehe Anhang)

Ich habe versucht, dieses Problem zu lösen, indem ich die Funktion if(sqIsTradeAllowed() == 1) vor OrderDelete einfügte, aber nichts geschah:

bool closePendingOrder() {

int ticket = OrderTicket();

if(sqIsTradeAllowed() == 1)  

if(BestellungLöschen(Ticket)) {

lastDeletedOrderTicket = ticket; return(true); }

return(false);}

Ich denke, die Lösung besteht darin, mehr Versuche zu unternehmen, einen Auftrag zu schließen oder zu ändern, wenn er fehlschlägt.

Was kann ich tun, um dieses Problem zu lösen?

0

FILIPE BONALDO ACERBI

Kunde, bbp_participant, Gemeinschaft, 27 Antworten.

Profil besuchen

vor 6 Jahren #201067

Ich habe im EA-Code alle Funktionen gesucht, die Aufträge ändern, löschen und schließen. Für diese Funktionen, fügte ich die gleiche Logik, die Wiederholungen gemacht, um Aufträge zu öffnen, wenn fehlgeschlagen, die durch openPosition() Funktion beschrieben wird. Heute erhalte ich die Fehlermeldung "market closed", aber der EA hat versucht, die Orders erfolgreich zu ändern/löschen/schließen. Wenn jemand ein Problem mit dem Fehler "Markt geschlossen" hat, habe ich die geänderten Funktionen angehängt, um Wiederholungen beim Schließen, Ändern oder Löschen von Aufträgen zu machen. Sie müssen nur die Funktionen im EA-Code ersetzen.

Anhänge:
Sie müssen sein eingeloggt um angehängte Dateien anzuzeigen.

0

afhampton

Kunde, bbp_participant, Gemeinschaft, 26 Antworten.

Profil besuchen

vor 6 Jahren #201276

Hallo Filipe:

Ich habe ein ähnliches Problem und frage mich, ob Ihre Änderungen das Problem beheben werden. Auf einem ECN-Konto wurde der schwebende Handel vom EA gesetzt, und bevor der Auftrag zum Ändern des schwebenden Handels zum Setzen von SL und TP verarbeitet werden konnte, wurde der Handel aktiviert. Die Änderung der Pending-Order schlug also fehl, weil sie nicht mehr in der Schwebe ist, sondern aktiviert wurde. In diesem Fall, wenn die Modify Pending Order fehlschlägt, muss der EA prüfen, ob die Order geöffnet wurde und wenn ja, ob TP und SL richtig gesetzt sind. Wenn nicht, setzen Sie TP und SL für den offenen Auftrag. Wenn die Versuche, TP/SL zu setzen, mehrmals fehlschlagen, dann schließen Sie den offenen Auftrag.

Ist das etwas, das Ihre Änderungen tun, und wenn nicht, können Sie mir mit Code helfen, um dies zu tun? Ich würde Sie gerne für Ihre Zeit entschädigen.

0

FILIPE BONALDO ACERBI

Kunde, bbp_participant, Gemeinschaft, 27 Antworten.

Profil besuchen

vor 6 Jahren #201294

Hallo Afhampton,

Ich denke, wenn der EA einige Wiederholungsversuche macht, um den ST/TP für den geöffneten Auftrag zu ändern, wird es funktionieren. Für die geöffneten Stop/Limit Orders, denke ich, dass EA testen muss, ob die schwebende Order geöffnet ist, bevor er versucht zu schließen oder zu ändern. Wenn sie geöffnet sind, wird der EA die Funktion start() aufrufen, um die neu geöffneten Aufträge zu verwalten. Das könnte eine Lösung sein. Ich habe die geänderten Funktionen angehängt und Sie könnten versuchen, ob es mit diesen geänderten Funktionen, die Wiederholungen machen und testen, ob die schwebende Bestellung geöffnet ist, funktioniert. Folgen Sie diesen Schritten:

1- Erstellen Sie eine Sicherungskopie von "MT4Functions.inc" in C:\StrategyQuant\code\Mql_MT4.

2 - Laden Sie die angehängte Datei herunter, benennen Sie sie um und ersetzen Sie "MT4Functions.inc" in C:\StrategyQuant\code\Mql_MT4.

3 - Exportieren Sie die Datei EA mql4 erneut in SQ.

4 - Testen Sie auf einem Demokonto.

Wenn der EA Aufträge nicht ändern/löschen kann, unternimmt er 60 Versuche innerhalb von 30 Sekunden, bis er den Auftrag erfolgreich ändert/löscht. Wenn das nicht funktioniert, stellen Sie das Backup wieder her.

 

Anhänge:
Sie müssen sein eingeloggt um angehängte Dateien anzuzeigen.

0

Ansicht von 8 Antworten - 1 bis 8 (von insgesamt 8)