โ† Todos os tutoriais
MT5 API ยท 5:01

Erros nos métodos de negociação.

Execuções, ordens pendentes e recusas da corretora. Confira o resultado antes de continuar.

Passo a passo por escrito

  1. 0:00

    Erros nos métodos de negociação.

    Este tutorial explica os resultados dos métodos de negociação do MT5: execução completa ou parcial, ordens pendentes, recusas da corretora e resultados ainda indefinidos.

  2. 0:16

    Abra o guia do método de negociação.

    Abra eme tê cinco ponto eme erre pê cê ponto pro. Selecione Order Send nos métodos de negociação e expanda o guia abaixo do exemplo de código. Cada método tem suas próprias regras.

  3. 0:35

    1. Verifique o código de status HTTP.

    Primeiro, verifique o código de status HTTP. O código de status HTTP duzentos significa que a API recebeu a solicitação e retornou uma resposta. Leia o corpo JSON em seguida. Para outro código, examine primeiro o erro HTTP e o corpo da resposta.

  4. 1:01

    2. Verifique error e o código da corretora.

    Se error não for null, leia o código e a mensagem. Verifique também mqlErrorTradeIntCode e a descrição, quando presentes. Uma recusa da corretora pode estar nessa estrutura. Escolha a próxima ação conforme o código recebido.

  5. 1:22

    3. Leia o resultado da corretora.

    Em uma solicitação de negociação, o código de status HTTP duzentos sem erro da API significa que a solicitação chegou à corretora. Isso ainda não confirma a execução. Leia returnedCode, returnedStringCode e os campos data específicos do método.

  6. 1:47

    Ordem a mercado: completa ou parcial?

    Para compra ou venda a mercado, dez mil e nove, Done, indica conclusão. Dez mil e dez, Done Partial, indica execução parcial. Confira o volume executado, o preço e o negócio. Consulte posições e histórico para entender o que aconteceu com o volume restante.

  7. 2:13

    Ordem colocada não é ordem executada.

    Em uma ordem a mercado, Placed significa aceita para execução, ainda não executada. Para uma ordem pendente, dez mil e oito ou dez mil e nove confirmam a colocação. Guarde data ponto order e confira os parâmetros em Opened Orders. Se ela já foi acionada, consulte o histórico.

  8. 2:39

    Mercado fechado: recusa da corretora.

    Uma recusa da corretora pode aparecer em data mesmo sem error. Dez mil e dezoito significa mercado fechado. Aguarde a sessão de negociação do símbolo. O resultado é definido pelo código, não apenas pela presença de data.

  9. 2:58

    Corrija a causa específica.

    Se faltarem recursos, reduza o volume ou garanta margem livre suficiente. Para stops inválidos, corrija preços e distâncias. Para volume inválido, confira o mínimo e o incremento permitido. Sem cotação, aguarde um preço disponível. O guia mostra a próxima ação de cada código.

  10. 3:24

    Após um timeout, verifique o estado.

    Após um timeout ou uma desconexão, o resultado pode ficar indefinido. Consulte ordens, posições e histórico antes de repetir, para evitar duplicações. O código da corretora pode aparecer em data returnedCode ou em error mqlErrorTradeIntCode.

  11. 3:47

    Fechamento e alteração têm regras próprias.

    Em Order Close, leia o resultado e confira as posições restantes. Um fechamento parcial mantém parte do volume aberto. Em Order Modify, Done indica alteração e No Changes significa que os valores já eram iguais. Não aplique as regras de Order Send a todos os métodos.

  12. 4:12

    A verificação prévia não envia uma ordem.

    Order Check é diferente de Order Send. Leia returnedCode e comment dentro de data mqlTradeCheckResult. Código zero com Done indica que a verificação prévia passou. Nenhuma ordem é enviada. Envie a solicitação de negociação separadamente e confira sua execução.

  13. 4:38

    Três verificações para cada operação.

    Verifique o código de status HTTP, error e o resultado da corretora específico do método. Guarde os identificadores necessários de ordem, negócio ou posição. Após timeout ou desconexão, confira o estado da conta antes de tentar novamente.