Discussão do artigo "Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte V): Classes e coleções de eventos de negociação, envio de eventos para o programa" - página 2

 
Alvaro Arioni:

Edite sua postagem e

use o botão de código (Alt+S) ao colar o código

 
Artyom Trishkin:

Pode haver mais de um pedido perdido

OK, mas a função ainda está retornando apenas uma das ordens perdidas, a que está mais próxima de zero.

Nesse caso, não seria o mesmo que iterar de 0 a start-1 com uma pausa?


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; 
  } 

Sei que é apenas um detalhe, mas achei que isso poderia ser um pequeno aprimoramento, especialmente no caso de um histórico muito grande de ordens.

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, mas a função ainda está retornando apenas uma das ordens perdidas, a que está mais próxima de zero.

Nesse caso, não seria o mesmo que iterar de 0 a start-1 com uma pausa?


Sei que é apenas um detalhe, mas achei que isso poderia ser um pequeno aprimoramento, especialmente no caso de um histórico muito grande de ordens.

Ok, obrigado, vou verificar e testar tudo.

É bem possível que a "pausa" seja útil.