Obter um ticket da última ordem enviada - RequestOrder()



  • Pessoal,

    Estou tentando obter o nº do ticket de uma ordem logo após o seu envio através da função RequestOrder() da biblioteca padrão CTrade. A ideia é salvar o nº do ticket numa variável para facilitar o acompanhamento, modificação e/ou exclusão dessa ordem. Conforme código abaixo.
        if(!trade.SellStop(volume,open_price,simbolo,SL,TP))
         {
           //--- Mensagem de erro
           Print("SellStop() Falhou. Código de retorno=",trade.ResultRetcode(),
                ". Descrição do código: ",trade.ResultRetcodeDescription());
         }
        else
         {
           nticket=trade.RequestOrder();
           Print("SellStop() executado com sucesso. Código de retorno=",trade.ResultRetcode(),
                " (",trade.ResultRetcodeDescription(),"). O número do ticket é: ",trade.RequestOrder());
         }

    A ordem é enviada com sucesso, mas o RequestOrder() sempre retorna zero. Alguém tem alguma ideia do que pode estar acontecendo?

    Pelo que entendi da documentação o MT5 deveria numerar automaticamente essas ordens, certo?

    Caso eu não consiga, pensei em usar o MqlTradeResult para a mesma finalidade. Alguém usa o MqlTradeResult para esse fim?

    Att.

    Otávio



O Portal do Trader não se responsabiliza pelas informações e opiniões veiculadas neste fórum, sendo elas de autoria individual de cada participante. Vale ainda ressaltar que investimentos em mercado de renda variável possuem riscos, ganhos passados não garantem ganhos futuros, e a decisão final e responsabilidade sobre cada operação é de cada investidor, devendo ser tomada individualmente.
© 2018 Portal do Trader. Todos os direitos reservados.

Parece que sua conexão com Fórum Portal do Trader caiu, por favor aguarde enquanto tentamos reconectar.