function get_mkt($date, $market, $lists) { $n = $s = 0; foreach ($lists as $v) { if ($v['date'] == $date && $v['market'] == $market) { $n++; $s += $v['price']; } } return $n ? dround($s / $n) : get_avg($lists); }
function get_url_diff($url_arr) { if (!$url_arr) { return; } foreach ($url_arr as $k => $v) { preg_match_all("/[\\d]+/", $v, $arr); $c_arr[$k] = count($arr[0]); $v_arr[$k] = $arr[0]; } $avg = get_avg($c_arr); foreach ($v_arr as $k => $v) { if (!$v || $c_arr[$k] < $avg) { if ($c_arr[$k] < $avg) { $re['index'] = $url_arr[$k]; } unset($url_arr[$k]); continue; } $split_arr[] = $v; } $t_arr = $split_arr; $split_rand_key = array_rand($split_arr); unset($t_arr[$split_rand_key]); $t_rand_key = array_rand($t_arr); $t_v = $t_arr[$t_rand_key]; //print_r($t_v); foreach ($split_arr[$split_rand_key] as $k => $v) { if ($v == $t_v[$k]) { continue; } $diff_key = $k; } $min_v = $split_arr[0][$diff_key]; $re['auto'] = $min_v < 10 && strlen($min_v) != 1 ? 1 : 0; $rand_key = array_rand($url_arr); $temp_url = $url_arr[$rand_key]; $s_arr = preg_split("/[\\d]+/", $temp_url); $split_arr[$split_rand_key][$diff_key] = '(*)'; $url = ''; foreach ($s_arr as $k => $v) { $url .= $v . $split_arr[$split_rand_key][$k]; } $re['url'] = $url; return $re; }
function query_exchanges($query_time, $tolerance, $btc_usd, $nbt_cny, $nbt_eur) { $total_ask = 0; $total_bid = 0; $total_both = 0; include "config.php"; $poloniex_btc_nbt = get_poloniex_btc_nbt($tolerance, $btc_usd); $bittrex_btc_nbt = get_bittrex_btc_nbt($tolerance, $btc_usd); $bter_nbt_btc = get_bter_nbt_btc($tolerance, $btc_usd); $bter_nbt_cny = get_bter_nbt_cny($tolerance, $nbt_cny); $hitbtc_nbt_btc = get_hitbtc_nbt_btc($tolerance, $btc_usd); $southx_btc_nbt = get_southx_btc_nbt($tolerance, $btc_usd); $southx_nbt_usd = get_southx_nbt_usd($tolerance); #$cryptsy_nbt_btc=get_cryptsy_nbt_btc($tolerance, $btc_usd); - defunc #$cryptsy_nbt_usd=get_cryptsy_nbt_usd(1.6); - defunc $ccedk_nbt_usd = get_ccedk_nbt_usd($tolerance); $ccedk_nbt_btc = get_ccedk_nbt_btc($tolerance, $btc_usd); $ccedk_nbt_eur = get_ccedk_nbt_eur($tolerance, $nbt_eur); $nulagoon_btc_nbt = get_nulagoon_btc_nbt($tolerance, $btc_usd); //write exchanges into walls_data.dat $data = array('timestamp' => $query_time, 'btc_usd' => "{$btc_usd}", 'exchanges' => array(array('pair' => 'poloniex_btc_nbt', 'amount' => $poloniex_btc_nbt), array('pair' => 'bittrex_btc_nbt', 'amount' => $bittrex_btc_nbt), array('pair' => 'bter_nbt_btc', 'amount' => $bter_nbt_btc), array('pair' => 'bter_nbt_cny', 'amount' => $bter_nbt_cny), array('pair' => 'hitbtc_nbt_btc', 'amount' => $hitbtc_nbt_btc), array('pair' => 'southx_btc_nbt', 'amount' => $southx_btc_nbt), array('pair' => 'southx_nbt_usd', 'amount' => $southx_nbt_usd), array('pair' => 'ccedk_nbt_usd', 'amount' => $ccedk_nbt_usd), array('pair' => 'ccedk_nbt_btc', 'amount' => $ccedk_nbt_btc), array('pair' => 'ccedk_nbt_eur', 'amount' => $ccedk_nbt_eur), array('pair' => 'nulagoon_btc_nbt', 'amount' => $nulagoon_btc_nbt))); foreach ($data["exchanges"] as $line) { $total_ask = $total_ask + $line["amount"]["ask_total"]; $total_bid = $total_bid + $line["amount"]["bid_total"]; } $total_both = $total_ask + $total_bid; $total_ask_percent = round($total_ask / $total_both * 100, 2); $total_bid_percent = round($total_bid / $total_both * 100, 2); $total_both_percent = $total_ask_percent + $total_bid_percent; $totals = array('totals' => array('total_ask' => $total_ask, 'total_bid' => $total_bid, 'total_both' => $total_both, 'total_ask_percent' => $total_ask_percent, 'total_bid_percent' => $total_bid_percent, 'total_both_percent' => $total_both_percent)); $data = array_replace_recursive($data, $totals); #get avgs $var = get_avg(15); #15 minutes $var = json_encode($var); file_put_contents($data_15, $var, LOCK_EX); $var = get_avg(240); #4 hours $var = json_encode($var); file_put_contents($data_4h, $var, LOCK_EX); #calculate ma 15 $avg15 = calculate_ma($data_15); $avg15_array = array('15min_avg' => $avg15); $data = array_replace_recursive($data, $avg15_array); #calculate ma 4h $avg4h = calculate_ma($data_4h); $avg4h_array = array('4h_avg' => $avg4h); $data = array_replace_recursive($data, $avg4h_array); #create and write final json $new_json = json_encode($data); $current = $new_json . "\n"; file_put_contents($data_file, $current, FILE_APPEND | LOCK_EX); return $new_json; }
<?php include "functions.php"; $var = get_avg(15); print_r($var);