Diskussion zum Artikel "Bibliothek für ein leichtes und schnelles Entwickeln vom Programmen für den MetaTrader (Teil V)." - Seite 2

 
Alvaro Arioni:

Bitte bearbeiten Sie Ihren Beitrag und

benutzen Sie die Code-Taste (Alt+S), wenn Sie den Code einfügen

 
Artyom Trishkin:

Es kann mehr als einen verlorenen Auftrag geben

OK, aber die Funktion gibt immer noch nur einen der verlorenen Aufträge zurück, nämlich den, der am nächsten an Null liegt.

Wäre es in diesem Fall nicht dasselbe, von 0 bis Start-1 mit einer Pause zu iterieren?


ulong CHistoryCollection::OrderSearch(const int start,ENUM_ORDER_TYPE &order_type) 
  { 
   ulong order_ticket=0; 
   for(int i=0; i < start ;i++) 
     { 
      ulong ticket=::HistoryOrderGetTicket(i); 
      if(ticket==0) 
         continue; 
      ENUM_ORDER_TYPE type=(ENUM_ORDER_TYPE)::HistoryOrderGetInteger(ticket,ORDER_TYPE); 
      if(this.IsPresentOrderInList(ticket,type)) 
         continue; 
      order_ticket=ticket; 
      order_type=type; 
      break; 
     } 
   return order_ticket; 
  } 

Ich weiß, dass es sich nur um ein Detail handelt, aber ich dachte, dass dies eine kleine Verbesserung sein könnte, insbesondere bei einer zu großen Anzahl von Aufträgen.

Documentation on MQL5: Constants, Enumerations and Structures / Named Constants / Predefined Macro Substitutions
Documentation on MQL5: Constants, Enumerations and Structures / Named Constants / Predefined Macro Substitutions
  • www.mql5.com
//| Expert initialization function                                   | //| Expert deinitialization function                                 | //| Expert tick function                                             | //| test1                                                            |...
 
Alvaro Arioni :

OK, aber die Funktion gibt immer noch nur eine der verlorenen Bestellungen zurück, nämlich die, die am nächsten an Null liegt.

Wäre es in diesem Fall nicht dasselbe, von 0 bis Start-1 mit einer Pause zu iterieren?


Ich weiß, dass es sich nur um ein Detail handelt, aber ich dachte, dass dies eine kleine Verbesserung sein könnte, insbesondere bei einer zu großen Anzahl von Aufträgen.

Ok, danke, ich werde alles prüfen und testen.

Es kann gut sein, dass "Pause" sich als nützlich erweisen wird.