$BTC
импорт запросов
импорт matplotlib.pyplot как plt
импорт numpy как np

# 1. Получение данных о ликвидациях из API CoinGlass
def get_liquidation_data(symbol="BTC"):
url = "https://open-api.coinglass.com/api/futures/liquidation/chart"
headers = {"coinglass-api-key": "YOUR_API_KEY"} # Вставьте ваш API-ключ сюда
params = {
"symbol": symbol,
"exchange": "all",
"timeType": "7d" # Данные за 7 дней, как на вашем скриншоте
}

response = requests.get(url, headers=headers, params=params)
data = response.json()
return data['data']

# 2. Построение теплокарты ликвидаций
def plot_liquidation_map(data):
prices = data['priceList'] # Уровни цен
long_liq = data['longList'] # Объемы ликвидации лонгов
short_liq = data['shortList'] # Объемы ликвидации шортов
current_price = data['currentPrice']

plt.figure(figsize=(14,7))

# Рисуем ликвидации шортов — красная область слева
plt.bar(prices, short_liq, color='red', alpha=0.5, label='Short Liquidations')

# Рисуем ликвидации лонгов — зеленая область справа
plt.bar(prices, long_liq, color='green', alpha=0.5, label='Long Liquidations')

# Линия текущей цены
plt.axvline(x=current_price, color='red', linestyle='--', linewidth=2, label=f'Current Price: ${current_price}')

plt.title("BTC Exchange Liquidation Heatmap", fontsize=16, fontweight='bold')
plt.xlabel("BTC Price (USD)")
plt.ylabel("Liquidation Amount (USD)")
plt.legend()
plt.grid(axis='y', alpha=0.3)
plt.show()

# 3. Как запустить
if __name__ == "__main__":
print("Fetching BTC liquidation data...")
data = get_liquidation_data("BTC")
plot_liquidation_map(data)