Проблемы сравнения разных временных меток - PullRequest
0 голосов
/ 16 сентября 2018

Я использую Binance REST API для получения предыдущей торговой информации:

Конечная точка: https://api.binance.com/api/v1/trades?symbol=BTCUSDT

$btc_trades = file_get_contents('https://api.binance.com/api/v1/trades?symbol=BTCUSDT');
$btc_trades = json_decode($btc_trades, true);

$five_minutes_ago = strtotime('-5 minutes');
echo "five minutes ago: " . $five_minutes_ago . "<br><br>";

foreach ($btc_trades as $btc_trade) {

    $btc_trade_time = strtotime($btc_trade['time']);
    $btc_trade_total = $btc_trade['qty'] * $btc_trade['price'];

    if ($btc_trade_time >= $five_minutes_ago) { 

        $btc_trade_time = $btc_trade['time'];

        echo "Time: " . $btc_trade_time . "<br>";
        echo "Qty: " . $btc_trade['qty'] . "<br>";
        echo "Price: $" . $btc_trade['price'] . "<br>";
        echo "Total: " . $btc_trade_total . "<br><br>";

    }

}

Я могу подтвердить, проверив, что есть возвращенные сделки, которые удовлетворяют условию (произошло менее пяти минут назад), однако в этом случае ничего не возвращается.

Метки времени отформатированы по-другому? Кажется, у меня все правильно.

Из Binance API (https://github.com/binance-exchange/binance-official-api-docs/blob/master/rest-api.md):

Все поля, связанные с отметкой времени и временем, указываются в миллисекундах.

Спасибо за помощь!

1 Ответ

0 голосов
/ 16 сентября 2018

изменить на

$btc_trade_time = $btc_trade['time']/1000
...