Lista de Opções de Ações

 

Olá amigos,

estou procurando e não achei.


Queria procurar as opções 'dentro do dinheiro' naquele momento de uma ação.


Por exemplo, indicaria o ativo PETR4.


Eu não tenho as opções na observação do mercado, é possível de alguma forma sem ter as opções na observação do mercado, procurar pra achar quais estão no dinheiro? e assim uma função incluir elas na observação do mercado?


Até vi no fórum uma função de exemplo, mas é para aquelas que já estão na observação do mercado.


Desde já agradeço.

 
Aperte CTRL+U e ele vai mostrar todos os ativos financeiros da sua corretora. (cada corretora tem sua lista de ativos)
 
Queria via script, robô, indicador isto e não manualmente.
 
Cláudio Müller: [ . . . ] Até vi no fórum uma função de exemplo, mas é para aquelas que já estão na observação do mercado. [ . . . ]

Certamente o código de exemplo que você viu no fórum usa SymbolsTotal(true), que lista apenas os da Observação do Mercado. A chave seria usar SymbolsTotal(false) e SymbolName(i, false) para acessar todos os símbolos disponíveis no servidor da corretora. No entanto, obter o preço de strike e o tipo da opção (call/put) via SymbolInfoDouble e SymbolInfoInteger (SYMBOL_OPTION_STRIKE, SYMBOL_OPTION_RIGHT, etc.) pode exigir que o símbolo esteja carregado. De qualquer forma, segue um pseudocódigo, caso queira implementar/testar:

// SymbolsTotal(false) retorna TODOS os símbolos da corretora,
// incluindo os que NÃO estão na Market Watch
int total = SymbolsTotal(false);

for(int i = 0; i < total; i++)
{
   string nome = SymbolName(i, false);
   
   // Filtra apenas opções de PETR4 (começa com "PETR" + ...)
   if(StringSubstr(nome, 0, 4) == "PETR" && /* lógica de validação... */)
   {
      // Obtém informações do símbolo sem precisar estar na Market Watch
      // Verifica se é opção, pega o strike, verifica se é ITM...
      
      // Se for ITM, adiciona à MW:
      SymbolSelect(nome, true);
   }
}
 
Vinicius Pereira De Oliveira #:
// SymbolsTotal(false) retorna TODOS os símbolos da corretora, // incluindo os que NÃO estão na Market Watch int total = SymbolsTotal(false); for(int i = 0; i < total; i++) {    string nome = SymbolName(i, false);       // Filtra apenas opções de PETR4 (começa com "PETR" + ...)    if(StringSubstr(nome, 0, 4) == "PETR" && /* lógica de validação... */)    {       // Obtém informações do símbolo sem precisar estar na Market Watch       // Verifica se é opção, pega o strike, verifica se é ITM...              // Se for ITM, adiciona à MW:       SymbolSelect(nome, true);    } }
Obrigado, vou testar.