Como listar todas as opções em negociação de um ativo(symbol)? - página 3

 

Boa tarde pessoal, essa é minha primeira pergunta aqui na comunidade.

Alguém sabe porque a lista de ações que aparecem no quadro de opções não apresenta todos os ativos que têm opções negociadas na bovespa? (mesmo quando o ativo já está no market watch)

 
Trader_Patinhas #:

Oi Tio Patinhas!
Obg pelo exemplo. Tentei usar ele mas dá erro na função SymbolName(i, false) quando esta retorna erro de sincronização. O codigo pára a execução.

Tem como contornar isso?

Modifiquei um pouco teu código ao tentar achar o problema:

...

Código formatado incorrectamente removido pelo moderador. Por favor EDITE o seu comentário e utilize o botão do CÓDIGO (Alt -S) ao inserir o seu código.

Botão de código no editor

...

Na verdade, acabei de testar e funciona em quase todas, salvo na PETR4! Nesse ativo não só não acha nada como dá o erro (justo no que eu queria). Testando na XP. Muito estranho.

Grato por quaisquer ideia !

Note na figura enviada que a lista pula da letra D para a letra U diretamente. Isso é problema do servidor da XP infelizmente, provavelmente a pior corretora para MT5... que raiva!

Mas o código tem problemas em enxergar ativos após o ativo número 1000 da lista, ao que parece. Ou na minha estação esse é o limite. Se testo com ABEV3 funciona, se testo com PETR4, VALE3, USIM5 não. Muito estranho.

Arquivos anexados:
 
Juan Pablo Silenzi De Stagni #:

Oi Tio Patinhas!
Obg pelo exemplo. Tentei usar ele mas dá erro na função SymbolName(i, false) quando esta retorna erro de sincronização. O codigo pára a execução.

Tem como contornar isso?

Modifiquei um pouco teu código ao tentar achar o problema:

...

Código formatado incorrectamente removido pelo moderador. Por favor EDITE o seu comentário e utilize o botão do CÓDIGO (Alt -S) ao inserir o seu código.

...

Na verdade, acabei de testar e funciona em quase todas, salvo na PETR4! Nesse ativo não só não acha nada como dá o erro (justo no que eu queria). Testando na XP. Muito estranho.

Grato por quaisquer ideia !

Note na figura enviada que a lista pula da letra D para a letra U diretamente. Isso é problema do servidor da XP infelizmente, provavelmente a pior corretora para MT5... que raiva!

Mas o código tem problemas em enxergar ativos após o ativo número 1000 da lista, ao que parece. Ou na minha estação esse é o limite. Se testo com ABEV3 funciona, se testo com PETR4, VALE3, USIM5 não. Muito estranho.

Eu queria chamar atencao para um ponto que ja ocorreu comigo na PETR4, eu olhava unicamente o inicio do nome da opcao que nem ta proposto no codigo do patinhas. Entretanto, ja ocorreu comigo que a opcao listada nao era de PETR4 e sim de PETR3 ja que possuia o mesmo prefixo. Comecei corrigido isso pelo codigo ISIN e depois migrei pra testar a propriedade do ativo SYMBOL_BASIS pra garantir que era do ativo certo.

Sobre a limitacao do market watch acho que esta enganado, na versao mais mais atual sao 5 mil ativos. Entretanto, voce precisa que seja mil ativos ali? Em caso de opcoes eu deixo so os mais proximos do vencimento e uma faixa de preco que julgo interessante.

 
Juan Pablo Silenzi De Stagni #:

Oi Tio Patinhas!
Obg pelo exemplo. Tentei usar ele mas dá erro na função SymbolName(i, false) quando esta retorna erro de sincronização. O codigo pára a execução.

Tem como contornar isso?

Modifiquei um pouco teu código ao tentar achar o problema:

...

Código formatado incorrectamente removido pelo moderador. Por favor EDITE o seu comentário e utilize o botão do CÓDIGO (Alt -S) ao inserir o seu código.

...

Na verdade, acabei de testar e funciona em quase todas, salvo na PETR4! Nesse ativo não só não acha nada como dá o erro (justo no que eu queria). Testando na XP. Muito estranho.

Grato por quaisquer ideia !

Note na figura enviada que a lista pula da letra D para a letra U diretamente. Isso é problema do servidor da XP infelizmente, provavelmente a pior corretora para MT5... que raiva!

Mas o código tem problemas em enxergar ativos após o ativo número 1000 da lista, ao que parece. Ou na minha estação esse é o limite. Se testo com ABEV3 funciona, se testo com PETR4, VALE3, USIM5 não. Muito estranho.

Oi Juan Pablo.

Eu já rodei com sucesso pra mais de 1000 ativos mas foi em outra corretora.

Erro de sincronismo é quando a cópia local que está na sua máquina não está atualizada com os dados do servidor.

Pelo que você relata, o problema só acontece com empresas que têm mais de 1000 instrumentos de opção listados. Talvez a XP tenha algum parâmetro que limite a qtde de 1000 e, nesse caso, talvez a solução seja fazer um loop pegando 1000 de cada vez.

Infelizmente o seu código-fonte foi removido pelo moderador, então não dá pra ver o que vc tentou fazer.

Talvez seja mais fácil pegar os dados de outra corretora do que ficar tentando contornar esse problema da XP.

Razão: