Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 09.05.21
MarkusWilhelm89 MarkusWilhelm89 ist offline
Mitglied
 
Registriert seit: Aug 2020
Beiträge: 64
MarkusWilhelm89 befindet sich auf einem aufstrebenden Ast
Standard OrderSelect - Fehler


Hallo,
ich habe ein Problem mit meiner OrderSelect Funktion und hoffe mir kann jemand helfen.

Grundprinzip:
Mein EA eröffnet MarketOrder's + PendingOrders (Grid-System)
Ich möchte mit meiner Funktion den Eröffnungspreis der neuesten MarketOrder selektieren.

Problem:
Wenn der EA die Order mit der TicketNr #1 ausführt, erkennt er das korrekt.
Wenn der EA danach die (Pending)Order mit der TicketNr #2 eröffnet, erkennt er das korrekt.
Wenn der EA danach die (Pending)Order mit der TicketNr #4 eröffnet, erkennt er das korrekt
Wenn der EA danach die (Pending)Order mit der TicketNr #3 eröffnet, erkennt es es nicht.


Ich nutze wie immer die klassische for-Schleife um alles durchzugehen.
Nur im oben beschriebenen Beispiel, erkennt er die neueste Ausführung nicht (liegt es daran dass die TicketNr < also die vorherige ist?)

Hat jemand eine Idee oder Tipp wie ich das korrigieren kann?


Code:
//double Newest_Open_Price=0;      for(int i=0;i<OrdersTotal();i++)  if(OrderSelect(i,SELECT_BY_POS)  &&OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber && (OrderType()==OP_BUY||OrderType()==OP_SELL))   Newest_Open_Price= NormalizeDouble(OrderOpenPrice(),Digits);