Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

vanessatelles/StockAlert

Repository files navigation

StockAlert

O objetivo da aplicação é avisar, via e-mail, caso a cotação de um ativo da B3 caia mais do que certo nível, ou suba acima de outro. A decisão de compra e venda é definida pela comparação entre os valores de referência e o valor obtido em tempo real pela API.

Essa decisão é então repassada em formato de token para o método responsável pelo envio da mensagem, o qual irá disparar um e-mail para o destinatário contendo uma das seguintes mensagens:

Sugestion: Sell {stock_symbol}.

Sugestion: Buy {stock_symbol}.

Quando nenhum dos dois casos são aplicáveis, o envio do e-mail não é realizado e a seguinte mensagem é mostrada no console:

No action needed.

O sistema realiza esse monitoramento do ativo a cada 2 minutos.

Execução do programa

Argumentos necessários

Aplicação de console, deve ser chamado via linha de comando com 3 seguintes parâmetros:

1- O ativo a ser monitorado;

2- O preço de referência para venda;

3- O preço de referência para compra;

Exemplo de chamada

StockAlert.exe PETR4 22.67 22.59

API de cotação

TwelveData

A empresa TwelveData disponibiliza uma API para dados do mercado financeiro. Uma vez feito o cadastro é disponibilizada uma chave a qual possibilita realizar 800 chamadas por dia. Foi utilizado o endpoint referente a Real-time Price o qual retorna o valor atual do ativo no momento da consulta.

A requisição HTTP é feita da seguinte forma:

https://api.twelvedata.com/price?symbol=stock_symbol&apikey=your_api_key

E retorna um JSON com a seguinte estrutura:

{
 "price": "200.99001"
}

Arquivo de Configuração

Servidor SMTP

O programa lê de um arquivo de configuração StockAlert.dll.config as informações de configurações de acesso ao servidor de SMTP que irá enviar a mensagem e o endereço de e-mail do destinatário dos alertas.

Hostname key: "server"
Port key: "port"
Username key: "username"
Sender e-mail key: "sender"
Receiver e-mail key: "receiver"
Password key: "password"

API key

Para utilizar a API de cotação é necessário utilizar uma chave, a mesma é resgatada do arquivo de configuração StockAlert.dll.config.

TwelveData API key: "apiKey"

Erros

Valores de Referência

Quando algum dos três argumentos não são passado o programa é encerrado e é mostrada a seguinte mensagem:

Fail: Missing argument.

Se é passado algum argumento a mais o programa é encerrado e é mostrada a seguinte mensagem:

Fail: Too many argument.

Servidor SMTP

Quando o sistema não consegue realizar a conexão com o servidor SMTP o programa é encerrado e na tela é mostrado um log do erro.

API de cotação

Quando o sistema não consegue fazer a aquisição de dados da API o valor do ativo é dado como nulo, o programa é encerrado e a seguinte mensagem é exibida:

Fail: Error with StockAPI.

About

Stock Alert is a real-time stock price notification service via email.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /