forked from vitorgamer58/cotacao-bitcoin-php
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrun.php
127 lines (101 loc) · 4.57 KB
/
run.php
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
<?php
$cache = 500; //diferença entre o tempo atual e o tempo de ultima modificação dos arquivos de Cache (em segundos)
//puxa as exchanges
//braziliex
$cache_braziliex = 'braziliex.cache';
if(file_exists($cache_braziliex)) {
if(time() - filemtime($cache_braziliex) > $cachetime) {
// too old , re-fetch
$cache = file_get_contents("https://braziliex.com/api/v1/public/ticker/eth_brl"); //Atualiza o Cache
file_put_contents($cache_braziliex, $cache);
$jsonbraziliex = file_get_contents($cache_braziliex);
} else {
$jsonbraziliex = file_get_contents($cache_braziliex);
}
} else {
// no cache, create one
$cache = file_get_contents("https://braziliex.com/api/v1/public/ticker/eth_brl"); //Cria o Cache
file_put_contents($cache_braziliex, $cache);
$jsonbraziliex = file_get_contents($cache_braziliex);
}
$databrzx = json_decode($jsonbraziliex, true); //decodifica os dados da api
$braziliex_price = $databrzx['last']; //seleciona um valor especifico da api
$braziliex_volume = $databrzx['baseVolume'];
//$braziliex_price = intval($braziliex_price); //transforma em numero
//$braziliex_volume = intval($braziliex_volume);
$varbraziliex = $braziliex_price * $braziliex_volume;
//bitcointrade
//cache da API
$cache_bitcointrade = 'bitcoinreade.cache';
if(file_exists($cache_bitcointrade)) {
if(time() - filemtime($cache_bitcointrade) > $cachetime) {
// too old , re-fetch
$cache = file_get_contents("https://api.bitcointrade.com.br/v2/public/BRLETH/ticker"); //Atualiza o Cache
file_put_contents($cache_bitcointrade, $cache);
$json_bitcointrade = file_get_contents($cache_bitcointrade);
} else {
$json_bitcointrade = file_get_contents($cache_bitcointrade);
}
} else {
// no cache, create one
$cache = file_get_contents("https://api.bitcointrade.com.br/v2/public/BRLETH/ticker"); //Cria o Cache
file_put_contents($cache_bitcointrade, $cache);
$json_bitcointrade = file_get_contents($cache_bitcointrade);
}
$data_bitcoin_trade = json_decode($json_bitcointrade, true);
$bitcointrade_price = $data_bitcoin_trade['data']['last'];
$bitcointrade_volume = $data_bitcoin_trade['data']['volume'];
//$bitcointrade_price = intval($bitcointrade_price);
//$bitcointrade_volume = intval($bitcointrade_volume);
$varbitcointrade = $bitcointrade_price * $bitcointrade_volume;
//mercadobitcoin
//cache da API
$cache_mercadobitcoin = 'mercadobitcoin.cache';
if(file_exists($cache_mercadobitcoin)) {
if(time() - filemtime($cache_mercadobitcoin) > $cachetime) {
// too old , re-fetch
$cache = file_get_contents("https://www.mercadobitcoin.net/api/eth/ticker/"); //Atualiza o Cache
file_put_contents($cache_mercadobitcoin, $cache);
$json_mercadobitcoin = file_get_contents($cache_mercadobitcoin);
} else {
$json_mercadobitcoin = file_get_contents($cache_mercadobitcoin);
}
} else {
// no cache, create one
$cache = file_get_contents("https://www.mercadobitcoin.net/api/eth/ticker/"); //Cria o Cache
file_put_contents($cache_mercadobitcoin, $cache);
$json_mercadobitcoin = file_get_contents($cache_mercadobitcoin);
}
$datamercadobitcoin = json_decode($json_mercadobitcoin, true);
$mercadobitcoin_price = $datamercadobitcoin['ticker']['last'];
$mercadobitcoin_volume = $datamercadobitcoin['ticker']['vol'];
//$mercadobitcoin_price = intval($mercadobitcoin_price);
//$mercadobitcoin_volume = intval($mercadobitcoin_volume);
$varmercadobitcoin = $mercadobitcoin_price * $mercadobitcoin_volume;
//Calcula o preco medio ponderado
$allvariables = $varbraziliex + $varbitcointrade + $varmercadobitcoin + $varflowbtc; //soma todas as variaveis
$volumetotal = $braziliex_volume + $bitcointrade_volume + $mercadobitcoin_volume + $flowbtc_volume; //soma todos os volumes
$volumetotal = round($volumetotal, 8); //Bitcoin tem 8 casas decimais
$preco_ponderado = $allvariables / $volumetotal; //calcula o preco medio ponderado
//Calcula o MarketShare
$pbraziliex = round(($braziliex_volume/$volumetotal)*100, 2);
$pbitcointrade = round(($bitcointrade_volume/$volumetotal)*100, 2);
$pmercadobitcoin = round(($mercadobitcoin_volume/$volumetotal)*100, 2);
//cache da API
$cache_data = 'data.cache';
if(file_exists($cache_data)) {
if(time() - filemtime($cache_data) > $cachetime) {
// too old , re-fetch
$cache = date('Y-m-d H:i'); //Atualiza o Cache
file_put_contents($cache_data, $cache);
$date = file_get_contents($cache_data);
} else {
$date = file_get_contents($cache_data);
}
} else {
// no cache, create one
$cache = date('Y-m-d H:i'); //Cria o Cache
file_put_contents($cache_data, $cache);
$date = file_get_contents($cache_data);
}
?>