Recuperar Informações de Ordem Pendente

 

Opa pessoal, blz?


Eu preciso comparar o valor de entrada de uma ordem Stop com a MM9 e pra isso eu preciso recuperar o valor de entrada dessa ordem.

Como eu recupero essa informação e também que tipo de ordem pendente é, se é buy ou sell ?



Obrigado a todos desde já.

 

Boa noite!


Voce pode tentar o codigo abaixo:


if (PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_SELL

    
     {
     int TotaldeOrdens=0;
     for(int i=OrdersTotal()-1; i>=0; i--)
     {
      ulong ticket=OrderGetTicket(i);
      string symbol=OrderGetString(ORDER_SYMBOL);
      ulong magic=OrderGetInteger(ORDER_MAGIC);
      if(symbol==_Symbol && magic==magicNum && OrderGetInteger(ORDER_TYPE)==ORDER_TYPE_SELL_LIMIT)
        {
         TotaldeOrdens=TotaldeOrdens+1;
         
        }
     }
 
Gilmar_kanal:

Boa noite!


Voce pode tentar o codigo abaixo:


if (PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_SELL) 

    
     {
     int TotaldeOrdens=0;
     for(int i=OrdersTotal()-1; i>=0; i--)
     {
      ulong ticket=OrderGetTicket(i);
      string symbol=OrderGetString(ORDER_SYMBOL);
      ulong magic=OrderGetInteger(ORDER_MAGIC);
      if(symbol==_Symbol && magic==magicNum && OrderGetInteger(ORDER_TYPE)==ORDER_TYPE_SELL_LIMIT)
        {
         TotaldeOrdens=TotaldeOrdens+1;
         
        }
     }

Cara ainda vou testar mas, uma duvida.

O positiongetInteger não é só pra quando eu ja estou comprado ou vendido?

 
João Bernardes:

Cara ainda vou testar mas, uma duvida.

O positiongetInteger não é só pra quando eu ja estou comprado ou vendido?

Usa OrdersTotal()

 
Jonathan Pereira:

Usa OrdersTotal()

Cara esse retorna o total de ordens no book.

Eu precisava recuperar informações de uma determinada ordem pendente.

 
João Bernardes:

Cara esse retorna o total de ordens no book.

Eu precisava recuperar informações de uma determinada ordem pendente.

Ãmmm??? alguém te falou isso ?


pois a documentação não diz isso.



Sugiro a leitura.


OrdersTotal - Funções de Negociação - Referência MQL5 - Referência sobre algorítimo/automatização de negociação na linguagem para MetaTrader 5

Documentação sobre MQL5: Funções de Negociação / OrdersTotal
Documentação sobre MQL5: Funções de Negociação / OrdersTotal
  • www.mql5.com
OrdersTotal - Funções de Negociação - Referência MQL5 - Referência sobre algorítimo/automatização de negociação na linguagem para MetaTrader 5
 
Jonathan Pereira:

Usa OrdersTotal()

Só não pode esquecer de filtrar as ordens do simbolo que esta trabalhando...pois retorna todas as Ordens


Não confunda atuais ordens pendentes com posições, que também são exibidos na aba "negócios" da "caixa de ferramentas" do terminal do cliente. Uma ordem é um pedido para conduzir a transação, enquanto que uma posição é um resultado de um ou mais negócios.


int totalOrderBySymbol=0;
   int total=OrdersTotal();
   if(total>0)
     {
      for(int i=total-1; i>=0; i--)
        {
         OrderSelect(OrderGetTicket(i));
         if(OrderGetString(ORDER_SYMBOL)!=Symbol())
            continue;
         if(InpMagicEA>0 && OrderGetInteger(ORDER_MAGIC)!=InpMagicEA)
            continue;

         if(OrderGetDouble(ORDER_VOLUME_INITIAL) < m_lot)
           {
            if(DeleteLimitOrders())
              {

              }
           }
         else
           {
            totalOrderBySymbol += 1;
           }
        }
     }
Documentação sobre MQL5: Constantes, Enumeradores e Estruturas / Constantes de Negociação / Propriedades de uma Ordem
Documentação sobre MQL5: Constantes, Enumeradores e Estruturas / Constantes de Negociação / Propriedades de uma Ordem
  • www.mql5.com
Propriedades de uma Ordem - Constantes de Negociação - Constantes, Enumeradores e Estruturas - Referência MQL5 - Referência sobre algorítimo/automatização de negociação na linguagem para MetaTrader 5
 
Jonathan Pereira:

Ãmmm??? alguém te falou isso ?


pois a documentação não diz isso.



Sugiro a leitura.


OrdersTotal - Funções de Negociação - Referência MQL5 - Referência sobre algorítimo/automatização de negociação na linguagem para MetaTrader 5

Perdão mano me expressei mal.

Quis dizer o total de ordens que eu tenho pendente, que eu coloquei no book.

Mas mesmo assim não é oque preciso, eu precisava de recuperar as informações das ordens, tipo, SL, valor de entrada etc...


Dei uma olhada rapida, por cima,  acho que seria melhor eu usar o OrderGetString, correto?

 
João Bernardes:

.....

Sim, porem para ter acesso as propriedades da ordem vai precisar selecionar ela antes, esse loop que passei faz isso

 
Jonathan Pereira:

Sim, porem para ter acesso as propriedades da ordem vai precisar selecionar ela antes, esse loop que passei faz isso

Blz mano.

Obrigado

Razão: