Exemple #1
0
function get_avg($number_of_lines)
{
    error_reporting(E_ALL & ~E_NOTICE & ~E_WARNING);
    include "config.php";
    $vars = array();
    $last_n = file_get_tail($data_file, $number_of_lines);
    foreach ($last_n as $json_line) {
        $json_array = json_decode($json_line, true);
        foreach ($json_array["exchanges"] as $exchange) {
            $pair_name = $exchange["pair"];
            $pair_ask = $exchange["amount"]["ask_total"];
            $pair_bid = $exchange["amount"]["bid_total"];
            $pair_total = $exchange["amount"]["total"];
            $ask_new = $pair_ask + $vars["{$pair_name}" . "_ask"];
            $bid_new = $pair_bid + $vars["{$pair_name}" . "_bid"];
            $total_new = $pair_total + $vars["{$pair_name}" . "_total"];
            $new_array = array("{$pair_name}" . "_ask" => "{$ask_new}", "{$pair_name}" . "_bid" => "{$bid_new}", "{$pair_name}" . "_total" => "{$total_new}");
            $vars = array_replace_recursive($vars, $new_array);
        }
    }
    $n_rec = count($last_n);
    foreach ($vars as $key => $pair) {
        $pair_new = $pair / $n_rec;
        $new_array = array("{$key}" => "{$pair_new}");
        $vars = array_replace_recursive($vars, $new_array);
    }
    $ma_array = array("moving_avg_minutes" => $number_of_lines);
    $vars = array_replace_recursive($vars, $ma_array);
    return $vars;
}
<?php

include "/var/www/alix/walls/functions.php";
date_default_timezone_set('UTC');
//init frames
$frames_array = array("48_hours" => "2880");
//write all data (absolute numbers)
foreach ($frames_array as $index => $lines) {
    //initial data load
    $data = array_reverse(file_get_tail("/var/www/raw/data/history.dat", $lines));
    $filename = $index . "_nupool_poloniex.csv";
    file_put_contents("/var/www/alix/charts/data/{$filename}", "Time,Sell,Buy,Total \n");
    foreach ($data as $data_line) {
        $data_line = json_decode($data_line, true);
        $time = date("Y/m/d G:i:s", $data_line["timestamp"]);
        foreach ($data_line["data"] as $pool) {
            if ($pool["exchange"] == "poloniex") {
                $total_ask = $pool["ask_filled"];
                $total_bid = $pool["bid_filled"];
                $total_both = $total_ask + $total_bid;
                $writeln = "{$time},{$total_ask},{$total_bid},{$total_both}";
                file_put_contents("/var/www/alix/charts/data/{$filename}", "{$writeln} \n", FILE_APPEND);
            }
        }
    }
}
<?php

date_default_timezone_set('UTC');
if (!function_exists("file_get_tail")) {
    include "functions.php";
}
$tail_file = "/var/www/alix/volume/data/totals_history.dat";
$frames_array = array("360d" => "360");
//write all data (absolute numbers)
foreach ($frames_array as $index => $lines) {
    //initial data load
    $data = array_reverse(file_get_tail($tail_file, $lines));
    $filename = $index . "_volume.csv";
    file_put_contents("/var/www/alix/charts/data/{$filename}", "Time,Alix 1,Alix 3,Alix 7, Alix 30, Alix 90 \n");
    foreach ($data as $index => $data_line) {
        if (!empty($data_line)) {
            $data_line = json_decode($data_line, true);
            $time = date("Y/m/d G:i:s", $data_line["timestamp"]);
            $alix1 = $data_line[1]["value"];
            $alix3 = $data_line[3]["value"];
            $alix7 = $data_line[7]["value"];
            $alix30 = $data_line[30]["value"];
            $alix90 = $data_line[90]["value"];
            $writeln = "{$time},{$alix1},{$alix3},{$alix7},{$alix30},{$alix90}";
            file_put_contents("/var/www/alix/charts/data/{$filename}", "{$writeln} \n", FILE_APPEND);
        }
    }
}
    if ($data_line) {
        $time = date("Y/m/d G:i:s", $data_line["timestamp"]);
        $total_ask_percent_4h = $data_line["4h_avg"]["total_ask_percent"];
        $total_bid_percent_4h = $data_line["4h_avg"]["total_bid_percent"];
        $total_ask_percent_15min = $data_line["15min_avg"]["total_ask_percent"];
        $total_bid_percent_15min = $data_line["15min_avg"]["total_bid_percent"];
        $writeln = "{$time},{$total_ask_percent_4h},{$total_bid_percent_4h},{$total_ask_percent_15min},{$total_bid_percent_15min},100";
        if ($total_ask_percent_4h > 0 && $total_bid_percent_4h > O && $total_ask_percent_15min > 0 && $total_bid_percent_15min > 0) {
            file_put_contents("/var/www/alix/charts/data/{$filename}", "{$writeln} \n", FILE_APPEND);
        }
    }
}
$filename = "4h_4h_15min_combined_ma_percent.csv";
file_put_contents("/var/www/alix/charts/data/{$filename}", "Time,Sell MA/4h,Buy MA/4h,Sell MA/15min,Buy MA/15min,Total \n");
//initial data load 4h
$data = array_reverse(file_get_tail("/var/www/alix/walls/data/wall_data.dat", 240));
#4h hours
foreach ($data as $data_line) {
    $data_line = json_decode($data_line, true);
    if ($data_line) {
        $time = date("Y/m/d G:i:s", $data_line["timestamp"]);
        $total_ask_percent_4h = $data_line["4h_avg"]["total_ask_percent"];
        $total_bid_percent_4h = $data_line["4h_avg"]["total_bid_percent"];
        $total_ask_percent_15min = $data_line["15min_avg"]["total_ask_percent"];
        $total_bid_percent_15min = $data_line["15min_avg"]["total_bid_percent"];
        $writeln = "{$time},{$total_ask_percent_4h},{$total_bid_percent_4h},{$total_ask_percent_15min},{$total_bid_percent_15min},100";
        if ($total_ask_percent_4h > 0 && $total_bid_percent_4h > O && $total_ask_percent_15min > 0 && $total_bid_percent_15min > 0) {
            file_put_contents("/var/www/alix/charts/data/{$filename}", "{$writeln} \n", FILE_APPEND);
        }
    }
}