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.
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.
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.
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