Como obter a última posição aberta?

 

Olá pessoal, tudo bem?

Estou de voltar com mais algumas dúvidas. Obrigado a todos pela ajudar e atenção aqui no Forum.


Como faço para obter a ultima posição de trades?

Não funciona.


Obrigado.

datetime tm=TimeCurrent();

for (int i = PositionsTotal() -1; i >= 0; i--){

        string   symbol            = PositionGetSymbol(i);
        long     tempo             = PositionGetInteger(POSITION_TIME_MSC);

     
        
      if (symbol == simbolo && magic == magicNum){   

        if( tempo > tm){
                .....
        }
      }

}
 
marcelodelta:


Bom dia,

siga esse roteiro.

   for(int i = PositionsTotal() - 1; i >= 0; i--)
     {
      if(PositionSelectByTicket(PositionGetTicket(i)))
         if(PositionGetString(POSITION_SYMBOL) == _Symbol && PositionGetInteger(POSITION_MAGIC) == inpMagicNumber)
           {
...
           }
     }
 

Olá Rogerio. 


No caso o PositionSelectByTicket(PositionGetTicket(i))  irá informar sempre a última ordem executada?

Digamos que tenho 3 posições abertas, como faço para pegar a ultima.

 
eu olharia o ticket de maior numero
 
marcelodelta:

Olá Rogerio. 


No caso o PositionSelectByTicket(PositionGetTicket(i))  irá informar sempre a última ordem executada?

Digamos que tenho 3 posições abertas, como faço para pegar a ultima.

o Rogerio só demonstrou o modo correto de como selecionar o ticket para poder pegar as informações, o modo que vc fez nao trava informação nenhuma

 

Fiz  o loop.


Porém ainda não consigo pegar o último ticket.


Poderia exemplificar se possível ?

 
Eduardo Oliveira:

o Rogerio só demonstrou o modo correto de como selecionar o ticket para poder pegar as informações, o modo que vc fez nao trava informação nenhuma

Bom, meu caro eu postei só um método para percorrer a lista de posições abertas pelo EA para o Ativo.

A lógica para selecionar o última posição fica a seu critério.... mas você já está no caminho basta selecionar a posição com o maior  valor de PositionGetInteger(POSITION_TIME_MSC)

 
Rogerio Giannetti Torres #:

Bom dia,

siga esse roteiro.

Obrigado pelo seu comentário, eu estava a 2 dias preso em um problema um pouco diferente ao do autor do post.
Seu comentário de 3 anos atrás definitivamente me ajudou muito

Razão: