-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathapp.py
59 lines (40 loc) · 1.91 KB
/
app.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# CONSULTA COTAÇÃO ATUAL DO BITCOIN NAS EXCHANGES
import requests, json
import time, datetime
import numpy
spread_desejado = 0.1 # PREENCHER CAMPO APENAS COM O VALOR INTERNO, DESCONSIDERANDO A (%)
while True:
requisicao = requests.get('https://api.bitvalor.com/v1/ticker.json')
informacoes = json.loads(requisicao.text)
# RETORNA O VALOR DO BITCOIN EM CADA EXCHANGE
exchange = {}
exchange['Mercado_Bitcoin'] = informacoes['ticker_24h']['exchanges']['MBT']['last']
exchange['BitcoinTrade'] = informacoes['ticker_24h']['exchanges']['BTD']['last']
exchange['Bisq'] = informacoes['ticker_24h']['exchanges']['BSQ']['last']
# ATRIBUI O PREÇO DO BITCOIN ÁS VARIÁVEIS
mbitcoin = exchange['Mercado_Bitcoin']
bitcointrade = exchange['BitcoinTrade']
bisq = exchange['Bisq']
# CRIA UMA TUPLA COM OS TODOS OS PREÇOS DE BITCOIN
valores = (mbitcoin, bitcointrade)
# RETORNA O MENOR PREÇO
menor_preco = numpy.amin(valores)
# RETORNA O MAIOR PREÇO
maior_preco = numpy.amax(valores)
# CALCULA A DIFERENCA ENTRE OS PRECOS (EM PORCENTAGEM)
spread = (((maior_preco - menor_preco) * 100) / menor_preco)
# VERIFICA SE O SPREAD DO MERCADO É MAIOR QUE O SOLICITADO
if spread >= spread_desejado:
print("## ALERTA!! SPREAD SOLICITADO ATINGIDO ##")
print("## HORA DO ALARME: {:%d/%m/%Y as %H:%M} ##". format(datetime.datetime.now()))
print("Spread Atual: {0:.3f}%" .format(spread))
# VERIFICA O NOME DE QUAL EXCHANGE O PREÇO ESTÁ MENOR
for key in exchange:
if exchange[key] == menor_preco:
print("MENOR preço em >>{}: {}<<".format(key, exchange[key]))
# VERIFICA O NOME DE QUAL EXCHANGE O PREÇO ESTÁ MAIOR
for key in exchange:
if exchange[key] == maior_preco:
print("MAIOR preço em >>{}: {}<<".format(key,exchange[key]))
break
time.sleep(60)