Calcula, salva e reporta seu saldo do Mercado Bitcoin
Project description
Calcula, salva e reporta seu saldo do Mercado Bitcoin
Este programa:
- Busca saldo em BRL de todos os seus tokens no Mercado Bitcoin
- Calcula saldo consolidado
- Atualiza um CSV caso o saldo tenha mudado
- Manda o saldo atual por e-mail ou Telegram junto com algumas estatísticas
É necessário Python 3, Pandas e nada mais para rodar este programa.
Para conseguir enviar e-mails, seu sistema (Linux, obviamente) de forma geral precisa estar configurado como cliente de mail. Eis um exemplo para configurar o postfix do Fedora.
Depois, eu uso o CSV junto com o investorzilla para acompanhar performance.
Como usar a API
import MercadoBitcoinBalance
# Suas credenciais obtidas em https://www.MercadoBitcoin.com.br/plataforma/chaves-api
MP_API_ID='06…05'
MP_API_SECRET='10…19'
mb=MercadoBitcoinBalance.MercadoBitcoinAPI(MP_API_ID,MP_API_SECRET)
balances=mb.get_BRL_balances()
Como usar na linha de comando
Instale:
pip install MercadoBitcoinBalance --user
Use:
balancemb \
--mb-id 06…05 \
--mb-secret 10…19 \
--csv-threshold 1 \
--csv balances.txt \
--csv-fund-name 'Nome arbitrário do fundo' \
--report-threshold 20 \
--mail seu_email@mail.net \
--telegram-chat-id 12345678 \
--telegram-bot-id '13…Wk'
Sendo:
mb-id
emb-secret
: suas credenciais obtidas em https://www.MercadoBitcoin.com.br/plataforma/chaves-apicsv-threshold
: só atualiza CSV se variação do saldo é maior do que este valorcsv
: nome do arquivo CSV para registrar o saldocsv-fund-name
: um nome qualquer para etiquetar o saldo no CSVreport-threshold
: só manda relatório se variação do saldo, desde último relatório, é maior do que este valormail
: endereço para enviar pequeno relatório por e-mail; não manda se omitidotelegram-chat-id
: o ID do seu usuário Telegram; não manda se omitidotelegram-bot-id
: o ID do bot que você deve criar em https://t.me/BotFather
O CSV acumula os valores como uma série temoral. Registra a hora UTC (UTC, sempre UTC, sempre), o nome do fundo (passado em csv-fund-name
) e o saldo consolidado em BRL. Assim:
time|fund|BRL|reported
2023-05-31T19:30:47.407006+00:00|Nome arbitrário do fundo|36595.57|1
2023-05-31T20:50:14.708121+00:00|Nome arbitrário do fundo|36576.22|0
O e-mail e mensagem de Telegram enviados tem esta cara:
Current balance: 36,576.22 BRL.
Previous balance: 34,595.72 BRL.
Variation: 1,980.50 BRL.
Percent change: 5.72%.
Historycal growth: 4% in 0m2d.
Brakedown by tokens and coins:
Total (BRL) brl 36,229.86 BRL abfy 336.42 BRL psgft 9.40 BRL wemix 0.54 BRL
Eu rodo isso a cada meia hora via crontab, assim:
*/30 * * * * ~/.local/bin/balancemb --mb-id 06…05 --mb-secret 10…19 --csv-threshold 2 --csv ~/investorzilla-my/mercadobitcoin-balances.txt --csv-fund-name 'Nome arbitrário do fundo' --report-threshold 20 --telegram-chat-id 12345678 --telegram-bot-id '11223344::A…k'
Adicionalmente, rodo todos os dias às 20:15 e forço envio de relatório (--report-threshold -1
) por Telegram:
15 20 * * * ~/.local/bin/balancemb --mb-id 06…05 --mb-secret 10…19 --csv-threshold 5 --csv ~/investorzilla-my/mercadobitcoin-balances.txt --csv-fund-name 'Nome arbitrário do fundo' --report-threshold -1 --telegram-chat-id 12345678 --telegram-bot-id '11223344::A…k'
Ou seja, atualizo saldo consolidado em balances.txt
a cada meia hora, não mando relatório mas mando saldos por Telegram caso houver variação de mais de 20 BRL.
Além do mais, todo dia às 20:15 manda o saldo atual, mesmo que não houve variação.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file mercadobitcoinbalance-1.4.tar.gz
.
File metadata
- Download URL: mercadobitcoinbalance-1.4.tar.gz
- Upload date:
- Size: 46.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | de87515198ddf0745d1b3b61ea18fbdb540c33b537e0d65866c32f58ec147b31 |
|
MD5 | d56745624f162450956f36cf97fe3c1e |
|
BLAKE2b-256 | 4761cf1a3be0cf74b4b1fea74aa05ceae39aed013a412316f6488ad78b65256d |
File details
Details for the file MercadoBitcoinBalance-1.4-py3-none-any.whl
.
File metadata
- Download URL: MercadoBitcoinBalance-1.4-py3-none-any.whl
- Upload date:
- Size: 33.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b721f75fe79703581ee744e9e5ddc86a44e811f5a78c257ed3df79d5f332b967 |
|
MD5 | 04e8b211b18ccc37d84f762059df5642 |
|
BLAKE2b-256 | 59f75e21f19d959db642da5d15ed2ed43f83dd709014b7e9acb9982630377b99 |