Я использую 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):
Все поля, связанные с отметкой времени и временем, указываются в миллисекундах.
Спасибо за помощь!