示例#1
0
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);
}
示例#2
0
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;
}
示例#3
0
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;
}
示例#4
0
<?php

include "functions.php";
$var = get_avg(15);
print_r($var);