Se o seu bot em Python fica pendurado para sempre esperando o resultado de uma ordem na IQ Option, você provavelmente caiu no mesmo buraco que nós: os métodos check_win / check_win_v4 da biblioteca não oficial iqoptionapi entram em loop infinito nos ativos novos com sufixo -op (ex.: USDJPY-op). Este artigo documenta o problema real que enfrentamos em 2026 rodando nosso bot em produção (conta demo) e as três soluções que estão funcionando — com código mínimo de cada uma.
Antes de tudo: a iqoptionapi é uma biblioteca não oficial, mantida pela comunidade via engenharia reversa do WebSocket. Ela pode quebrar a qualquer momento, sem aviso. Se você quer uma base com API oficial e documentada, a alternativa é a Deriv — foi para lá que portamos parte do nosso bot.
O problema: por que check_win trava nos ativos -op
Os ativos “-op” são o produto de opções mais novo da IQ Option. O detalhe fatal: a plataforma não popula, para esses ativos, as mensagens de WebSocket que a lib espera para dar a ordem por encerrada. O check_win_v4 fica em while True aguardando um evento que nunca chega — e o seu bot congela com ele. Não é bug do seu código: é a lib esperando um contrato de mensagens que o produto novo não cumpre. Já detalhamos o funcionamento normal desses métodos em check_win_v4 e os métodos de resultado da iqoptionapi.
Solução 1 — Resultado por delta de saldo
A mais robusta das três, com uma pré-condição: o bot precisa operar uma ordem por vez (o nosso opera). Se só existe uma ordem em aberto, a variação do saldo depois da expiração é o resultado, matematicamente: win = +stake × payout, loss = −stake, empate = 0. Nada de esperar mensagem nenhuma.
Simples, sem dependência do check_win. Mas repare no comentário “aguardar a liquidação” — é aí que mora a segunda armadilha.
Solução 2 — Ler o saldo no minuto cheio (o bug do WIN que virou LOSS)
Descobrimos da pior forma: a IQ Option liquida a ordem no limite de minuto cheio (ou quarto de hora cheio), e não em “momento da compra + N minutos”. Se você comprar às 14:03:37 com expiração de 2 minutos, a liquidação não acontece às 14:05:37 — ela se alinha à grade de minutos da plataforma.
Bug real que vivemos: um WIN de +1.120 foi registrado como LOSS pelo bot, porque ele leu o saldo cedo demais — antes de a corretora creditar o prêmio. O delta ainda era negativo (só o débito do stake havia caído). Na estatística do dia, um trade vencedor virou derrota. Esse tipo de erro silencioso corrompe todos os seus números.
A correção: alinhar a leitura ao próximo minuto cheio após a expiração nominal, e depois fazer polling por até 2-3 minutos até o saldo estabilizar (duas leituras iguais em sequência):
Solução 3 — Expiração adaptativa (turbo 2 min → binária 15 min)
Terceiro tropeço: às vezes a corretora recusa a ordem turbo porque a agenda daquela expiração está fechada para o ativo. Em vez de perder o sinal, o bot tenta o plano B — refazer a ordem como binária de 15 minutos:
Atenção: uma expiração diferente muda a estatística do sinal — registre qual caminho foi usado em cada trade, como fazemos, para poder separar as amostras depois. Os fundamentos do buy e da leitura de resultado estão em iqoptionapi buy: enviar ordem e ler resultado.
Bônus: os ativos -op não aparecem em constants.ACTIVES
Outro tropeço de quem migra para os ativos novos: eles não vêm listados em constants.ACTIVES, então a lib nem sabe que existem. A saída é injetar os IDs na partida do bot:
E um detalhe de conta, não de código: no nosso caso, foi a conta verificada que liberou o acesso aos ativos -op. Se eles não aparecem para você, verifique o status da sua conta antes de caçar bug no Python.
O quadro geral: lib não oficial é dívida técnica assumida
As três soluções acima estão rodando em produção no nosso bot (em conta demo — os números estão em Resultados do bot em 3 corretoras). Mas não vamos maquiar a situação: tudo isso é engenharia em cima de uma biblioteca que a IQ Option não reconhece e pode invalidar amanhã. Foi exatamente por isso que portamos o bot também para a Deriv, que tem API oficial — a comparação entre as corretoras e o guia da lib estão em Python + IQ Option: a API não oficial.
Cansado de fazer engenharia reversa? A Deriv tem API oficial, documentada e com WebSocket estável — é a base do nosso estudo de 45 dias.
Conhecer a API da Deriv (conta demo) →Link de afiliado. Desenvolva e teste sempre em demo.
Leia também
→ check_win_v4 e os métodos de resultado da iqoptionapi
→ iqoptionapi buy: enviar ordem e ler resultado (2026)
→ Python + IQ Option: a API não oficial explicada
→ As 2 estratégias que sobreviveram ao out-of-sample (regras completas)
Dan Machado
Desenvolvedor do projeto IA Trader Pro. Constrói e documenta em público um bot de opções binárias em Python, testado em conta demo em três corretoras (Deriv, IQ Option e Quotex) — publicando os números que funcionam e, principalmente, os que não funcionam.
Aviso: opções binárias são produtos de altíssimo risco e a maioria dos traders de varejo perde dinheiro. Os códigos deste artigo são exemplos educacionais, testados por nós em conta DEMO com biblioteca não oficial que pode quebrar a qualquer momento. Nada aqui é recomendação de investimento ou promessa de lucro. Nunca opere com dinheiro que você não pode perder.
