Binaryzando Todos os erros →

A entrada abre com expiração de 1 hora, não de 1 minuto

Quase sempre é unidade trocada: a função espera minutos e você passou segundos (ou o contrário). Em segundo lugar vem o horário de fecho: se a expiração de 1 minuto já passou, a corretora joga a ordem pra próxima janela disponível — que pode ser bem mais longa.

quando eu faço a entrada, a expiração é para uma hora e não para um minuto

O que está acontecendo

Existem duas formas de dizer “quando essa operação vence”: uma duração (“daqui a 1 minuto”) e um horário de fecho (“às 14h32”). Bibliotecas diferentes — e até funções diferentes da mesma biblioteca — usam uma ou outra, e algumas usam segundos onde outras usam minutos. Passar 60 pra uma função que espera minutos pede 60 minutos. Passar 1 pra uma que espera segundos pede uma operação de 1 segundo, que não existe — e aí ela arredonda pra alguma coisa.

Como resolver

Descubra a unidade da função que VOCÊ está chamando

Não presuma pelo exemplo que você copiou — ele pode ser de outra versão. Abra a assinatura da função na biblioteca e confira se o parâmetro se chama duration, expiration ou expirations, e o que ele espera. Um minuto de leitura resolve horas de tentativa.

Olhe o relógio: a janela de 1 minuto tem hora pra fechar

Operações curtas normalmente fecham no minuto cheio. Se você envia faltando poucos segundos, aquela janela não aceita mais — e a corretora ou recusa ou oferece a próxima disponível, que pode ser 5 minutos, 15 ou uma hora, dependendo do que estiver aberto naquele par. O sintoma é esse: “pedi 1 minuto e veio 1 hora”.

Confirme lendo a ordem de volta, não a sua variável

Depois de abrir, consulte a operação e imprima o vencimento que a corretora registrou. Conferir a variável que você mandou não prova nada — ela obviamente contém o que você escreveu.

Deixe uma margem de segurança antes da virada

Envie a ordem com alguns segundos de folga em relação ao fim da vela. Além de matar esse erro, evita o instrumento que expirou nas operações digitais.

Isso contamina o seu backtest também

Se o robô opera com expiração diferente da que você testou, o número do backtest deixa de valer — são duas estratégias diferentes. Ver qual tempo de expiração usar.

Erros parecidos

Antes de deixar o robó operar

Consertar o erro faz o robô rodar — não faz ele ganhar. O Binaryzando testa a sua estratégia no histórico real de velas antes de você arriscar dinheiro nela, e sela o resultado numa carta com código verificável — para o número não poder ser editado depois.

Testar minha estratégia