Se você já conseguiu logar na IQ Option com a iqoptionapi e puxar velas, o próximo passo natural é o que mais gera dúvida: como enviar uma ordem e depois saber se ganhou ou perdeu. Neste guia direto e honesto de 2026 você vai ver os métodos buy() (opções binárias) e buy_digital_spot() (opções digitais), como capturar o id da operação e como acompanhar o resultado com check_win_v4() — sempre em conta demo, que é onde esse tipo de teste deve viver.
Quer pular a parte chata de configurar tudo na mão e ver um fluxo de automação já montado para a IQ Option?
Ver o guia de automação da IQ Option em Python →O que a iqoptionapi realmente é (e o que ela não é)
A iqoptionapi é uma biblioteca não oficial mantida pela comunidade que conversa com os servidores da IQ Option por WebSocket. Ela não é um produto da corretora, pode quebrar quando a plataforma muda algo internamente, e não tem qualquer garantia de funcionamento. Use-a como ferramenta de estudo de automação — não como “máquina de dinheiro”.
pip install -U iqoptionapi, use uma conta PRACTICE e nunca rode código de terceiros com credenciais da sua conta real sem entender cada linha.
Passo 1 — Conectar e escolher a conta demo
Tudo começa com o login e a troca para a conta de prática. Confirme que a conexão deu certo antes de enviar qualquer ordem:
from iqoptionapi.stable_api import IQ_Option
import time
api = IQ_Option("seu_email", "sua_senha")
status, reason = api.connect()
print("Conectado?", status, reason)
# SEMPRE em demo para testar
api.change_balance("PRACTICE")
print("Saldo demo:", api.get_balance())
Passo 2 — Enviar ordem binária com buy()
O método buy() serve para opções binárias clássicas. A assinatura é buy(valor, ativo, direcao, expiracao), onde direcao é "call" (alta) ou "put" (baixa) e expiracao é em minutos. Ele retorna uma tupla (status, id):
valor = 1 # valor da entrada
ativo = "EURUSD" # par
direcao = "call" # "call" ou "put"
expiracao = 1 # minutos
ok, order_id = api.buy(valor, ativo, direcao, expiracao)
if ok:
print("Ordem enviada. ID:", order_id)
else:
print("Falha ao enviar a ordem")
order_id. Sem ele você não consegue consultar o resultado depois. Se ok vier False, normalmente é ativo fechado, payout indisponível ou valor abaixo do mínimo.
Passo 3 — Acompanhar o resultado com check_win_v4()
Depois de enviar, você espera a vela fechar e consulta o desfecho. O check_win_v4() é o método recomendado nas versões atuais: ele devolve o status da operação e o lucro/prejuízo. Faça isso de forma bloqueante apenas em estudo:
resultado, lucro = api.check_win_v4(order_id)
if lucro > 0:
print(f"WIN — lucro de {lucro:.2f}")
elif lucro == 0:
print("EMPATE (devolução)")
else:
print(f"LOSS — perda de {abs(lucro):.2f}")
O retorno de lucro já vem líquido: positivo é ganho, zero é empate (stake devolvido) e negativo é perda. Em loops reais, prefira checar de forma assíncrona em vez de travar o programa esperando cada vela.
E as opções digitais? Use buy_digital_spot()
As digitais têm um fluxo separado. A entrada é feita com buy_digital_spot(ativo, valor, direcao, expiracao) e o resultado é consultado com check_win_digital_v2(id):
ok, order_id = api.buy_digital_spot("EURUSD", 1, "call", 1)
if ok:
# aguarda fechar e consulta
fechado = False
while not fechado:
fechado, lucro = api.check_win_digital_v2(order_id)
time.sleep(1)
print("Resultado digital:", lucro)
buy() + check_win_v4() para binárias; buy_digital_spot() + check_win_digital_v2() para digitais. Trocar um pelo outro é a causa nº 1 de “id não encontrado”.
Erros comuns ao enviar ordens
Os tropeços mais frequentes são: tentar comprar com a sessão desconectada (cheque status do connect()), usar um ativo fechado no horário, valor abaixo do mínimo permitido, e esquecer de trocar para PRACTICE — o que faria a ordem ir para a conta real. Sempre valide o retorno booleano antes de seguir.
FAQ
A iqoptionapi é oficial? Não. É um projeto da comunidade, sem suporte da corretora, e pode parar de funcionar a qualquer momento.
Dá para garantir lucro automatizando? Não. Automação só executa regras; ela não muda o fato de que opções binárias têm valor esperado negativo para o trader na maioria dos cenários.
Posso testar sem arriscar dinheiro? Sim, e deve. Use change_balance("PRACTICE") e mantenha tudo em conta demo.
Qual a diferença entre buy() e buy_digital_spot()? O primeiro envia opções binárias; o segundo, opções digitais. Cada um tem seu próprio método de verificação de resultado.
Aviso: opções binárias e digitais são produtos de altíssimo risco e a maioria dos investidores de varejo perde dinheiro. Este conteúdo é educacional e técnico, não constitui recomendação de investimento, oferta ou promessa de retorno. Bibliotecas não oficiais podem violar os termos de uso da plataforma e parar de funcionar sem aviso. Teste sempre em conta demo antes de qualquer uso com dinheiro real.
