Binaryzando Todos os erros →

“not found consts”: a biblioteca não conhece esse ativo

A biblioteca traduz o nome do ativo (EURUSD) para o número que a corretora usa por dentro. Quando o nome não está na tabela dela, ela imprime isso e devolve nada.

not found consts / ERROR:root:not found consts

De onde vem

Dentro da biblioteca existe um dicionário fixo ligando nome do ativo ao identificador numérico. Ele foi escrito à mão, num dia específico, com os ativos que existiam naquele dia. A corretora, porém, cria par novo, cria versão OTC, renomeia. Quando isso acontece, a tabela fica para trás e qualquer ativo novo cai nessa mensagem.

É um sintoma de biblioteca desatualizada, não de código errado — e por isso acontece igual com todo mundo que instalou a mesma versão.

Como resolver

Veja o que a tabela conhece hoje

from iqoptionapi.constants import ACTIVES

print(len(ACTIVES))
print([a for a in ACTIVES if 'EUR' in a])

Se o seu ativo não aparecer nessa lista, achamos a causa.

Pergunte o identificador certo à própria corretora

A tabela está velha, mas a API responde o estado atual. Dá para descobrir o nome exato dos ativos abertos agora:

abertos = api.get_all_open_time()
for nome, info in abertos['turbo'].items():
    if info['open']:
        print(nome)

Use o nome exatamente como ela devolveu — maiúsculas, hífen e sufixo -OTC inclusive.

Complete a tabela em vez de editar a biblioteca

Editar o arquivo dentro de site-packages funciona até a próxima reinstalação apagar tudo. Melhor acrescentar no seu próprio código, que sobrevive:

from iqoptionapi.constants import ACTIVES

ACTIVES.setdefault('EURUSD-OTC', 76)   # id conforme a corretora

Atualize a biblioteca antes de gambiarra

Se existe versão mais nova, ela provavelmente já traz o ativo. Vale checar antes de manter uma lista paralela sua para sempre.

Costuma vir acompanhado

Ativo desconhecido também dispara “asset is not available”. Se os dois aparecem juntos, resolva este primeiro.

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