|
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
Pending-Order in eine Richtung zweimal geöffnet
Hallo, ich bins mal wieder.
Habe folgendes Problem. Wenn ich zwei Pending-Order (BUYSTOP und SELLSTOP) in Auftrag gebe, dann führt er mir zweimal die BUYSTOP aus und die SELLSTOP bleibt auf der Strecke, wieso ist das so? Ich versuche natürlich im Code abzufragen, ob eine Order geöffnet ist, wenn nicht also "OrdesTotal() == 0" dann soll er jeweils eine BUYSTOP und eine SELLSTOP öffnen. Aber dann halt der Fehler. Meine Code sieht folgendermaßen aus: Code:
if OrdersTotal() == 0 // Wenn keine Orders offen sind, dann sollen eine BuyStop und eine SellStop gesetzt werden { ticket = OrderSend(Symbol(), OP_BUYSTOP, Lots, current_aprice, 3, limit_down, limit_up, “BuyStop”, 13579, 0, Green); ticket = OrderSend(Symbol(), OP_SELLSTOP, Lots, current_bprice, 3, limit_up, limit_down, “SellStop”, 13579, 0, Green); if (ticket < 0) { Print(“OrderSend fehlgeschlagen: Errorcode # „, GetLastError()); Return(0); } } Gruß Privex_MT |
|
|||
Das kann ich mir jetzt auch nicht direkt erklären, Versuch doch einfach mal folgendes.
Das mit if ticket ist ein wenig komisch, du gibst 2 aufträge raus aber vergleichts ob nur eine Order offen ist da ticket größer null ist. Ok das ist hier nicht so ganz wichtig. Ist ja nur für die Erkennung. Es kann nämlcih passieren das er eine Order Aufgibt und bei der zweiten der tradekontext busy ist. Dann hast du nur eine order offe, obwohl du eigentlich 2 haben wolltest. Versuch immer mit <= oder >= zu arbeiten anstatt ==... machmal stockt es hier auch ein wenig. Sowas ist mir auch auch schon mal passiert. Lass die beiden Order nicht untereinander laufen sondern lass ein anderen Programmierabschnitt zwischen laufen. Zitat:
|
Lesezeichen |
Stichworte |
metatrader pending-order, pending-order, pending-order 2 mal, pending-order zwei mal öffnen |
|
|