🚀 Полезные библиотеки Python
💾 Hypothesis
📌 Библиотека Python, для автоматизации тестирования кода. Она генерирует тестовые случаи автоматически на основе заданных условий (свойств) и проверяет, выполняются ли они. Этот подход позволяет находить сложные и редкие ошибки, которые могли бы быть упущены в обычных тестах.
Ключевые возможности:
1. Генерация входных данных:
Поддержка множества встроенных стратегий для создания тестовых данных (строки, числа, списки, словари и т.д.).
Возможность создания пользовательских стратегий.
2. Автоматическое упрощение:
Если тест провалился, Hypothesis пытается упростить входные данные, чтобы локализовать причину ошибки.
3. Поддержка сложных типов данных:
Генерация данных для пользовательских объектов, классов, JSON-структур и многого другого.
4. Интеграция с популярными фреймворками:
Работает с pytest, unittest и другими.
5. Детерминированное тестирование:
Повторяемость тестов благодаря фиксированным "seed"-значениям.
⚙️ Установка 👇👇👇
📁 Документация
#библиотеки
📌 Подпишись Python_Scripts ❗️
💾 Hypothesis
📌 Библиотека Python, для автоматизации тестирования кода. Она генерирует тестовые случаи автоматически на основе заданных условий (свойств) и проверяет, выполняются ли они. Этот подход позволяет находить сложные и редкие ошибки, которые могли бы быть упущены в обычных тестах.
Ключевые возможности:
1. Генерация входных данных:
Поддержка множества встроенных стратегий для создания тестовых данных (строки, числа, списки, словари и т.д.).
Возможность создания пользовательских стратегий.
2. Автоматическое упрощение:
Если тест провалился, Hypothesis пытается упростить входные данные, чтобы локализовать причину ошибки.
3. Поддержка сложных типов данных:
Генерация данных для пользовательских объектов, классов, JSON-структур и многого другого.
4. Интеграция с популярными фреймворками:
Работает с pytest, unittest и другими.
5. Детерминированное тестирование:
Повторяемость тестов благодаря фиксированным "seed"-значениям.
⚙️ Установка 👇👇👇
pip install hypothesis
📁 Документация
#библиотеки
📌 Подпишись Python_Scripts ❗️
👍5❤4
av_kufar_bot-main.zip
14.7 KB
📌 Скрипт парсер
💻 ЯП: Python 3.11+🐍
💾 Модули: aiogram, bs4, lxml
📂 База данных: -
📌 Скрипт для парсинга Kufar.by и Av.by в оболочке Telegram бота.
📌 Вся информация приведена исключительно в ознакомительных целях❗️❗️❗️
#telegram
📌 Подпишись Python_Scripts❗️
💻 ЯП: Python 3.11+🐍
💾 Модули: aiogram, bs4, lxml
📂 База данных: -
📌 Скрипт для парсинга Kufar.by и Av.by в оболочке Telegram бота.
📌 Вся информация приведена исключительно в ознакомительных целях❗️❗️❗️
#telegram
📌 Подпишись Python_Scripts❗️
❤7👍4
📌Вычисление индекса волатильности токена на основе исторических данных используется публичное API Bybit👨💻
📌 Подпишись Python_Scripts❗️
import requests
import pandas as pd
import math
# Константы
BASE_URL = "https://api.bybit.com/v5/market/kline"
SYMBOL = "BTCUSDT" # Торговая пара
CATEGORY = "spot" # Тип рынка
INTERVAL = "60" # Интервал свечей (60 минут)
LIMIT = 24 # Количество свечей (24 часа = 24 свечи по 1 часу)
def get_historical_data():
"""Получить исторические данные (Kline)"""
params = {
"category": CATEGORY,
"symbol": SYMBOL,
"interval": INTERVAL,
"limit": LIMIT
}
response = requests.get(BASE_URL, params=params)
if response.status_code == 200:
return response.json()["result"]["list"]
else:
raise Exception(f"Ошибка API: {response.status_code}, {response.text}")
def calculate_volatility(klines):
"""Вычислить волатильность на основе исторических данных"""
data = [float(kline[4]) for kline in klines] # Закрытые цены (Close)
df = pd.DataFrame(data, columns=["close"])
# Вычисляем логарифмическую доходность
df["log_return"] = df["close"].apply(math.log).diff()
# Рассчитываем стандартное отклонение (волатильность)
volatility = df["log_return"].std() * math.sqrt(len(df))
return volatility
def main():
try:
print(f"Вычисляем волатильность для {SYMBOL} за последние {LIMIT} часов...\n")
# Получаем исторические данные
klines = get_historical_data()
# Вычисляем волатильность
volatility = calculate_volatility(klines)
# Выводим результат
print(f"Волатильность за {LIMIT} часов: {volatility:.2%}")
except Exception as e:
print(f"Ошибка: {e}")
if __name__ == "__main__":
main()
📌 Подпишись Python_Scripts❗️
🔥14👍4❤3
🚀 Полезные библиотеки Python
💾 Poetry-dynamic-versioning
📌 Библиотека Python, которая автоматически синхронизирует версию вашего проекта с Git-тегами.
Позволяет избегать ручного изменения версии в файле pyproject.toml и упрощает управление версиями в процессе разработки и релизов.
Ключевые возможности:
1. Синхронизация версий с Git-тегами:
Версия проекта в pyproject.toml автоматически обновляется на основе текущего Git-тега.
2. Поддержка автоматического версионирования:
Генерация промежуточных версий, например 1.0.1-dev, для незавершённых изменений.
3. Простая интеграция:
Лёгкая настройка без необходимости вручную управлять версиями.
4. Совместимость с Poetry:
Библиотека легко интегрируется в существующие проекты, использующие Poetry.
⚙️ Установка 👇👇👇
📁 Документация
#библиотеки
📌 Подпишись Python_Scripts ❗️
💾 Poetry-dynamic-versioning
📌 Библиотека Python, которая автоматически синхронизирует версию вашего проекта с Git-тегами.
Позволяет избегать ручного изменения версии в файле pyproject.toml и упрощает управление версиями в процессе разработки и релизов.
Ключевые возможности:
1. Синхронизация версий с Git-тегами:
Версия проекта в pyproject.toml автоматически обновляется на основе текущего Git-тега.
2. Поддержка автоматического версионирования:
Генерация промежуточных версий, например 1.0.1-dev, для незавершённых изменений.
3. Простая интеграция:
Лёгкая настройка без необходимости вручную управлять версиями.
4. Совместимость с Poetry:
Библиотека легко интегрируется в существующие проекты, использующие Poetry.
⚙️ Установка 👇👇👇
pip install poetry-dynamic-versioning
📁 Документация
#библиотеки
📌 Подпишись Python_Scripts ❗️
👍8❤4🔥4
TG-VK-bot-integration-master.zip
80.4 KB
📌 Скрипт бот ВК для оперативного реагирования на заявки клиентов
💻 ЯП: Python 3.11+🐍
💾 Модули: aiogram, telebot, vk-api
📂 База данных: aiosqlite
📌 Скрипт автоматизирует процесс обработки сообщения от клиентов, перенеся часть задач в Telegram. Это позволяет администраторам быстрее реагировать на запросы, управлять диалогами и обеспечивать высокий уровень обслуживания.
Автоматическая отправка сообщений от клиентов в чат-бота VK.
- Уведомления для администраторов в Telegram о новых сообщениях.
- Возможность модерации и управления сообщениями в режиме реального времени.
- Легко настраиваемый интерфейс и возможность расширения функционала.
📌 Вся информация приведена исключительно в ознакомительных целях❗️❗️❗️
#telegram #vk
📌 Подпишись Python_Scripts❗️
💻 ЯП: Python 3.11+🐍
💾 Модули: aiogram, telebot, vk-api
📂 База данных: aiosqlite
📌 Скрипт автоматизирует процесс обработки сообщения от клиентов, перенеся часть задач в Telegram. Это позволяет администраторам быстрее реагировать на запросы, управлять диалогами и обеспечивать высокий уровень обслуживания.
Автоматическая отправка сообщений от клиентов в чат-бота VK.
- Уведомления для администраторов в Telegram о новых сообщениях.
- Возможность модерации и управления сообщениями в режиме реального времени.
- Легко настраиваемый интерфейс и возможность расширения функционала.
📌 Вся информация приведена исключительно в ознакомительных целях❗️❗️❗️
#telegram #vk
📌 Подпишись Python_Scripts❗️
🔥6❤2
В 2024 году невозможно найти что-то полезное, просто загуглив: выдача поиска забита мусором из ChatGPT, а все годные материалы не попадают в топы поиска.
Хорошо, что есть База Знаний — сеть каналов, в которой команда опытных айтишников постит лучшее из мира IT. Для вашего удобства всё отсортировано по категориям:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🤩4❤2😁2
📌Расчёт среднего истинного диапазона (ATR). ATR — это индикатор, который помогает измерять волатильность рынка. Он часто используется для установки уровней стоп-лоссов или определения трендов.
Используется публичное API Bybit👨💻
📌 Подпишись Python_Scripts❗️
Используется публичное API Bybit👨💻
import requests
import pandas as pd
# Константы
BASE_URL = "https://api.bybit.com/v5/market/kline"
SYMBOL = "BTCUSDT" # Торговая пара
CATEGORY = "spot" # Тип рынка
INTERVAL = "60" # Интервал свечей (60 минут)
LIMIT = 14 # Количество свечей для ATR (по умолчанию 14 периодов)
def get_historical_data():
"""Получить исторические данные (Kline)"""
params = {
"category": CATEGORY,
"symbol": SYMBOL,
"interval": INTERVAL,
"limit": LIMIT + 1 # Нужно на 1 свечу больше для расчётов
}
response = requests.get(BASE_URL, params=params)
if response.status_code == 200:
return response.json()["result"]["list"]
else:
raise Exception(f"Ошибка API: {response.status_code}, {response.text}")
def calculate_atr(klines):
"""Вычислить ATR (средний истинный диапазон)"""
# Преобразуем данные в DataFrame
data = [
{"high": float(kline[2]), "low": float(kline[3]), "close": float(kline[4])}
for kline in klines
]
df = pd.DataFrame(data)
# Вычисляем истинный диапазон (TR)
df["previous_close"] = df["close"].shift(1)
df["tr"] = df[["high", "previous_close"]].max(axis=1) - df[["low", "previous_close"]].min(axis=1)
# Рассчитываем ATR как скользящее среднее истинного диапазона
df["atr"] = df["tr"].rolling(window=LIMIT).mean()
# Возвращаем последнее значение ATR
return df["atr"].iloc[-1]
def main():
try:
print(f"Вычисляем ATR для {SYMBOL} за последние {LIMIT} периодов...\n")
# Получаем исторические данные
klines = get_historical_data()
# Вычисляем ATR
atr = calculate_atr(klines)
# Выводим результат
print(f"Средний истинный диапазон (ATR) за {LIMIT} периодов: {atr:.2f}")
except Exception as e:
print(f"Ошибка: {e}")
if __name__ == "__main__":
main()
📌 Подпишись Python_Scripts❗️
👍9🔥6❤3
🚀 Полезные библиотеки Python
💾 FluPy
📌 Библиотека Python, для функционального программирования, которая предоставляет мощный инструмент для работы с коллекциями данных. Она позволяет выполнять операции над последовательностями данных (например, списками, словарями) с использованием функционального подхода: через цепочки методов, упрощающие обработку данных.
Ключевые возможности:
1. Чистый функциональный стиль:
Использование методов map, filter, reduce, и других, для работы с последовательностями данных.
2. Ленивая обработка данных:
Операции выполняются только по требованию, что экономит ресурсы для больших объёмов данных.
3. Простота использования:
Работает с любыми итерабельными объектами: списками, словарями, генераторами и т. д.
4. Поддержка цепочек вызовов:
Позволяет комбинировать несколько операций в одной строке, делая код более читаемым и компактным.
⚙️ Установка 👇👇👇
📁 Документация
#библиотеки
📌 Подпишись Python_Scripts ❗️
💾 FluPy
📌 Библиотека Python, для функционального программирования, которая предоставляет мощный инструмент для работы с коллекциями данных. Она позволяет выполнять операции над последовательностями данных (например, списками, словарями) с использованием функционального подхода: через цепочки методов, упрощающие обработку данных.
Ключевые возможности:
1. Чистый функциональный стиль:
Использование методов map, filter, reduce, и других, для работы с последовательностями данных.
2. Ленивая обработка данных:
Операции выполняются только по требованию, что экономит ресурсы для больших объёмов данных.
3. Простота использования:
Работает с любыми итерабельными объектами: списками, словарями, генераторами и т. д.
4. Поддержка цепочек вызовов:
Позволяет комбинировать несколько операций в одной строке, делая код более читаемым и компактным.
⚙️ Установка 👇👇👇
pip install flupy
📁 Документация
#библиотеки
📌 Подпишись Python_Scripts ❗️
👍10❤3
topup_helper_tg_bot-main.zip
4.1 MB
📌 Скрипт для помощи в пополнении любого EVM кошелька, если у пользователя нет своего личного кошелька или биржи
💻 ЯП: Python 3.11+🐍
💾 Модули: aiogram, requests,web3
📂 База данных: sqlalchemy
📌 Скрипт Telegram бот для удобства пополнения разных сайтов криптой, в том числе для пользователей, которые с ней не знакомы и не имеют аккаунта на бирже или личного кошелька.
Так же возможно делать переводы внутри бота между пользователями, свапать токена и т.д.
Пользователи могут пополнить свой баланс внутри бота через Telegram Stars. Stars конвертируются в рубли на баланс, независимо от того, в какой валюте были куплены.Рубли в дальнейшем конвертируются в токены по курсу Binance.
📌 Вся информация приведена исключительно в ознакомительных целях❗️❗️❗️
#telegram
📌 Подпишись Python_Scripts❗️
💻 ЯП: Python 3.11+🐍
💾 Модули: aiogram, requests,web3
📂 База данных: sqlalchemy
📌 Скрипт Telegram бот для удобства пополнения разных сайтов криптой, в том числе для пользователей, которые с ней не знакомы и не имеют аккаунта на бирже или личного кошелька.
Так же возможно делать переводы внутри бота между пользователями, свапать токена и т.д.
Пользователи могут пополнить свой баланс внутри бота через Telegram Stars. Stars конвертируются в рубли на баланс, независимо от того, в какой валюте были куплены.Рубли в дальнейшем конвертируются в токены по курсу Binance.
📌 Вся информация приведена исключительно в ознакомительных целях❗️❗️❗️
#telegram
📌 Подпишись Python_Scripts❗️
👍7👏5🎉4❤2
📌Проверка аномально больших объемов торговли для заданного токена.
Используется публичное API Bybit👨💻
📌 Подпишись Python_Scripts❗️
Используется публичное API Bybit👨💻
import requests
import time
# Константы
BASE_URL = "https://api.bybit.com/v5/market/kline"
SYMBOL = "BTCUSDT" # Торговая пара
CATEGORY = "spot" # Тип рынка
INTERVAL = "60" # Интервал свечей (60 минут)
LIMIT = 50 # Количество свечей для анализа (N периодов)
THRESHOLD_MULTIPLIER = 2 # Умножитель для определения аномального объёма
def get_historical_volumes():
"""Получить исторические объёмы (Kline)"""
params = {
"category": CATEGORY,
"symbol": SYMBOL,
"interval": INTERVAL,
"limit": LIMIT
}
response = requests.get(BASE_URL, params=params)
if response.status_code == 200:
return [float(kline[5]) for kline in response.json()["result"]["list"]] # Объём сделок
else:
raise Exception(f"Ошибка API: {response.status_code}, {response.text}")
def detect_anomalous_volume(volumes):
"""Определить, есть ли аномальный объём"""
avg_volume = sum(volumes[:-1]) / (len(volumes) - 1) # Средний объём без последнего значения
last_volume = volumes[-1] # Последний объём
if last_volume > avg_volume * THRESHOLD_MULTIPLIER:
return True, avg_volume, last_volume
return False, avg_volume, last_volume
def main():
try:
print(f"Начинаем мониторинг объёмов для {SYMBOL}...\n")
while True:
# Получаем исторические данные объёмов
volumes = get_historical_volumes()
# Проверяем на наличие аномального объёма
is_anomalous, avg_volume, last_volume = detect_anomalous_volume(volumes)
if is_anomalous:
print(f"🔔 Аномальный объём обнаружен!")
print(f"Средний объём: {avg_volume:.2f}, Последний объём: {last_volume:.2f}\n")
else:
print(f"Объёмы в пределах нормы. Последний объём: {last_volume:.2f}, Средний объём: {avg_volume:.2f}")
# Задержка между проверками
time.sleep(60 * int(INTERVAL)) # Интервал совпадает с таймфреймом свечи
except Exception as e:
print(f"Ошибка: {e}")
if __name__ == "__main__":
main()
📌 Подпишись Python_Scripts❗️
❤15👍3🔥3
🚀 Полезные библиотеки Python
💾 Tenacity
📌 Библиотека Python, для управления повторными попытками выполнения функций. Она позволяет легко настроить логику повторов при сбоях или ошибках, что особенно полезно при работе с ненадёжными API, сетевыми запросами или любыми задачами, где результат может быть нестабильным.
Ключевые возможности Tenacity:
1. Гибкость настройки повторов: Вы можете задать количество попыток, задержки между ними, условия для остановки и исключения, которые должны быть обработаны.
2. Простота использования: Используется в качестве декоратора или вызова функции.
3. Расширяемость:
Вы можете добавлять собственные стратегии управления повторными попытками.
4. Обширный набор предустановок: Параметры для задержек (например, экспоненциальная или фиксированная), лимитов по времени и т. д.
⚙️ Установка 👇👇👇
📁 Документация
#библиотеки
📌 Подпишись Python_Scripts ❗️
💾 Tenacity
📌 Библиотека Python, для управления повторными попытками выполнения функций. Она позволяет легко настроить логику повторов при сбоях или ошибках, что особенно полезно при работе с ненадёжными API, сетевыми запросами или любыми задачами, где результат может быть нестабильным.
Ключевые возможности Tenacity:
1. Гибкость настройки повторов: Вы можете задать количество попыток, задержки между ними, условия для остановки и исключения, которые должны быть обработаны.
2. Простота использования: Используется в качестве декоратора или вызова функции.
3. Расширяемость:
Вы можете добавлять собственные стратегии управления повторными попытками.
4. Обширный набор предустановок: Параметры для задержек (например, экспоненциальная или фиксированная), лимитов по времени и т. д.
⚙️ Установка 👇👇👇
pip install tenacity
📁 Документация
#библиотеки
📌 Подпишись Python_Scripts ❗️
👍7🔥2❤1
gift-sniper-main.zip
218.1 KB
📌 Скрипт авто покупка подарков
💻 ЯП: Python 3.11+🐍
💾 Модули: aiogram, pyrogram
📂 База данных: sqlalchemy
📌 Скрипт для автоматического отслеживание и покупки новых Telegram Gifts.
Настройка режимов покупки:
- Покупка на весь баланс
- Процентный лимит от баланса (в разработке)
- Пополнение баланса звёзд
- Общий банк звёзд в системе
- Управление VIP-статусами
- Изменение баланса пользователей
📌 Вся информация приведена исключительно в ознакомительных целях❗️❗️❗️
#telegram
📌 Подпишись Python_Scripts❗️
💻 ЯП: Python 3.11+🐍
💾 Модули: aiogram, pyrogram
📂 База данных: sqlalchemy
📌 Скрипт для автоматического отслеживание и покупки новых Telegram Gifts.
Настройка режимов покупки:
- Покупка на весь баланс
- Процентный лимит от баланса (в разработке)
- Пополнение баланса звёзд
- Общий банк звёзд в системе
- Управление VIP-статусами
- Изменение баланса пользователей
📌 Вся информация приведена исключительно в ознакомительных целях❗️❗️❗️
#telegram
📌 Подпишись Python_Scripts❗️
👍9👏4❤3🔥1
📌Мониторинг изменения процентной ставки финансирования (Funding Rate) для фьючерсов.
Ставка финансирования помогает понять, кто доминирует на рынке — покупатели (лонги) или продавцы (шорты). Резкие изменения ставки могут указывать на перекос позиций и потенциальный разворот рынка.
Используется публичное API Bybit👨💻
📌 Подпишись Python_Scripts❗️
Ставка финансирования помогает понять, кто доминирует на рынке — покупатели (лонги) или продавцы (шорты). Резкие изменения ставки могут указывать на перекос позиций и потенциальный разворот рынка.
Используется публичное API Bybit👨💻
import requests
import time
# Константы
FUNDING_URL = "https://api.bybit.com/v5/market/funding/history"
SYMBOL = "BTCUSDT" # Торговая пара
CATEGORY = "linear" # Тип рынка (фьючерсы)
CHECK_INTERVAL = 300 # Интервал проверки (в секундах)
def get_latest_funding_rate():
"""Получить последнюю ставку финансирования"""
params = {
"category": CATEGORY,
"symbol": SYMBOL,
"limit": 1 # Только последнее значение
}
response = requests.get(FUNDING_URL, params=params)
if response.status_code == 200:
funding_data = response.json()["result"]["list"]
if funding_data:
return float(funding_data[0]["fundingRate"]), funding_data[0]["fundingRateTimestamp"]
else:
raise Exception("Нет данных по ставке финансирования.")
else:
raise Exception(f"Ошибка API Funding Rate: {response.status_code}, {response.text}")
def monitor_funding_rate():
"""Мониторинг ставки финансирования"""
try:
print(f"Начинаем мониторинг ставки финансирования для {SYMBOL}...\n")
previous_rate = None
while True:
# Получаем текущую ставку финансирования
funding_rate, timestamp = get_latest_funding_rate()
# Сравниваем с предыдущей ставкой
if previous_rate is not None:
rate_change = (funding_rate - previous_rate) * 100 # Изменение в процентах
print(f"Ставка финансирования: {funding_rate:.6f} (Изменение: {rate_change:+.2f}%)")
if abs(rate_change) > 0.01: # Порог изменения, при котором выводится предупреждение
print(f"🔔 Внимание! Ставка финансирования изменилась на {rate_change:+.2f}%!")
else:
print(f"Ставка финансирования: {funding_rate:.6f}")
# Обновляем предыдущую ставку
previous_rate = funding_rate
# Задержка перед следующей проверкой
time.sleep(CHECK_INTERVAL)
except Exception as e:
print(f"Ошибка: {e}")
if name == "main":
monitor_funding_rate()
📌 Подпишись Python_Scripts❗️
1🔥10👍5❤3
🚀 Полезные библиотеки Python
💾 PyScaffold
📌 Библиотека Python, для быстрого создания и настройки структуры проектов Python. Помогает разработчикам легко начать новый проект с правильной организацией и поддержкой стандартов.
Особенности:
- Генерация готовой структуры проекта (папки src, тесты, документация).
- Поддержка интеграции с tox, pre-commit, и sphinx.
- Простая настройка через шаблоны.
⚙️ Установка 👇👇👇
📁 Документация
#библиотеки
📌 Подпишись Python_Scripts ❗️
💾 PyScaffold
📌 Библиотека Python, для быстрого создания и настройки структуры проектов Python. Помогает разработчикам легко начать новый проект с правильной организацией и поддержкой стандартов.
Особенности:
- Генерация готовой структуры проекта (папки src, тесты, документация).
- Поддержка интеграции с tox, pre-commit, и sphinx.
- Простая настройка через шаблоны.
⚙️ Установка 👇👇👇
pip install pyscaffold
📁 Документация
#библиотеки
📌 Подпишись Python_Scripts ❗️
👍11❤2
gift-parser-main.zip
7.5 KB
📌 Скрипт парсер подарков
💻 ЯП: Python 3.11+🐍
💾 Модули: aiogram, pyrogram
📂 База данных: -
📌 Скрипт бот для автоматического парсинга подарков пользователей из Telegram чатов.
Этот инструмент предназначен для анализа и поиска лимитированных подарков Telegram в публичных чатах. Бот автоматически сканирует указанные чаты, находит пользователей с определенными подарками и предоставляет детальную информацию о них. Идеальное решение для коллекционеров и трейдеров Telegram подарков.
📌 Вся информация приведена исключительно в ознакомительных целях❗️❗️❗️
#telegram
📌 Подпишись Python_Scripts❗️
💻 ЯП: Python 3.11+🐍
💾 Модули: aiogram, pyrogram
📂 База данных: -
📌 Скрипт бот для автоматического парсинга подарков пользователей из Telegram чатов.
Этот инструмент предназначен для анализа и поиска лимитированных подарков Telegram в публичных чатах. Бот автоматически сканирует указанные чаты, находит пользователей с определенными подарками и предоставляет детальную информацию о них. Идеальное решение для коллекционеров и трейдеров Telegram подарков.
📌 Вся информация приведена исключительно в ознакомительных целях❗️❗️❗️
#telegram
📌 Подпишись Python_Scripts❗️
👍7❤4🔥3
📌 Вычисление спреда для торговых стратегий.
Используется публичное API Bybit👨💻
📌 Подпишись Python_Scripts❗️
Используется публичное API Bybit👨💻
import requests
import time
# Константы
ORDERBOOK_URL = "https://api.bybit.com/v5/market/orderbook"
SYMBOL = "BTCUSDT" # Торговая пара
CATEGORY = "spot" # Тип рынка (spot или linear для фьючерсов)
REFRESH_INTERVAL = 5 # Интервал обновления (в секундах)
def get_best_bid_ask():
"""Получить лучшие цены bid и ask"""
params = {
"category": CATEGORY,
"symbol": SYMBOL
}
response = requests.get(ORDERBOOK_URL, params=params)
if response.status_code == 200:
result = response.json().get("result")
if result:
best_bid = result.get("b", [])[0] # Лучшая цена bid
best_ask = result.get("a", [])[0] # Лучшая цена ask
return best_bid, best_ask
else:
raise ValueError("Пустой ответ в поле 'result'.")
else:
raise Exception(f"Ошибка API Orderbook: {response.status_code}, {response.text}")
def calculate_spread(best_bid, best_ask):
"""Рассчитать спред между лучшими ценами bid и ask"""
bid_price = float(best_bid[0])
ask_price = float(best_ask[0])
spread = ask_price - bid_price
return bid_price, ask_price, spread
def monitor_best_bid_ask():
"""Мониторинг лучших bid и ask"""
try:
print(f"Начинаем мониторинг лучших bid и ask для {SYMBOL}...\n")
while True:
# Получаем лучшие bid и ask
best_bid, best_ask = get_best_bid_ask()
# Рассчитываем спред
bid_price, ask_price, spread = calculate_spread(best_bid, best_ask)
# Выводим результаты
print(f"Bid: {bid_price:.2f}, Ask: {ask_price:.2f}, Спред: {spread:.2f}")
# Интервал обновления
time.sleep(REFRESH_INTERVAL)
except Exception as e:
print(f"Ошибка: {e}")
if __name__ == "__main__":
monitor_best_bid_ask()
📌 Подпишись Python_Scripts❗️
1👍10🔥7
🚀 Полезные библиотеки Python
💾 DeepLake
📌 Библиотека Python, для управления большими наборами данных, разработанная специально для машинного обучения. Она позволяет работать с миллиардами строк данных, включая изображения, текст, видео и аннотации.
⚙️ Установка 👇👇👇
📁 Документация
#библиотеки
📌 Подпишись Python_Scripts ❗️
💾 DeepLake
📌 Библиотека Python, для управления большими наборами данных, разработанная специально для машинного обучения. Она позволяет работать с миллиардами строк данных, включая изображения, текст, видео и аннотации.
⚙️ Установка 👇👇👇
pip install deeplake
📁 Документация
#библиотеки
📌 Подпишись Python_Scripts ❗️
👍9❤3🔥1
maxmind_geocity-main.zip
12.4 KB
📌 Скрипт определение геолокации
💻 ЯП: Python 3.11+🐍
💾 Модули: aiogram, geoip2
📂 База данных: sqlite3
📌 Скрипт Telegram-бот для определения геолокации IP-адресов и подсетей.
📌 Вся информация приведена исключительно в ознакомительных целях❗️❗️❗️
#telegram
📌 Подпишись Python_Scripts❗️
💻 ЯП: Python 3.11+🐍
💾 Модули: aiogram, geoip2
📂 База данных: sqlite3
📌 Скрипт Telegram-бот для определения геолокации IP-адресов и подсетей.
📌 Вся информация приведена исключительно в ознакомительных целях❗️❗️❗️
#telegram
📌 Подпишись Python_Scripts❗️
❤5👍5
📌 Анализ тренда цены с использованием скользящей средней (SMA), используя публичное API Bybit👨💻
📌 Подпишись Python_Scripts❗️
import requests
import time
# Константы
KLINE_URL = "https://api.bybit.com/v5/market/kline"
SYMBOL = "BTCUSDT" # Торговая пара
CATEGORY = "spot" # Тип рынка (spot или linear для фьючерсов)
INTERVAL = "1" # Таймфрейм свечей (1 минута)
SMA_PERIOD = 10 # Количество свечей для расчёта SMA
REFRESH_INTERVAL = 5 # Интервал обновления (в секундах)
def get_kline_data():
"""Получить исторические свечи"""
params = {
"category": CATEGORY,
"symbol": SYMBOL,
"interval": INTERVAL,
"limit": SMA_PERIOD # Берём последние N свечей
}
response = requests.get(KLINE_URL, params=params)
if response.status_code == 200:
result = response.json().get("result", {}).get("list", [])
if result:
return [float(candle[4]) for candle in result] # Закрытия свечей
else:
raise ValueError("Пустой ответ в 'result.list'.")
else:
raise Exception(f"Ошибка API Kline: {response.status_code}, {response.text}")
def calculate_sma(prices):
"""Рассчитать скользящую среднюю (SMA)"""
return sum(prices) / len(prices) if prices else 0
def monitor_trend():
"""Мониторинг тренда на основе SMA"""
try:
print(f"Начинаем мониторинг тренда {SYMBOL}...\n")
while True:
# Получаем закрытия свечей
closing_prices = get_kline_data()
current_price = closing_prices[-1] # Последняя цена закрытия
sma = calculate_sma(closing_prices)
# Определяем тренд
trend = "⬆️ Восходящий" if current_price > sma else "⬇️ Нисходящий"
# Выводим результаты
print(f"Цена: {current_price:.2f}, SMA({SMA_PERIOD}): {sma:.2f}, Тренд: {trend}")
# Интервал обновления
time.sleep(REFRESH_INTERVAL)
except Exception as e:
print(f"Ошибка: {e}")
if __name__ == "__main__":
monitor_trend()
📌 Подпишись Python_Scripts❗️
🔥12❤1
🚀 Полезные библиотеки Python
💾 Blosc
📌 Библиотека Python, для сверхбыстрого сжатия данных. Используется для сжатия массивов NumPy и работы с большими объёмами данных в памяти.
Особенности:
- В 2-10 раз быстрее стандартных методов сжатия (gzip, bz2).
- Поддерживает многопоточность.
- Оптимизирован для работы с NumPy и Pandas.
⚙️ Установка 👇👇👇
📁 Документация
#библиотеки
📌 Подпишись Python_Scripts ❗️
💾 Blosc
📌 Библиотека Python, для сверхбыстрого сжатия данных. Используется для сжатия массивов NumPy и работы с большими объёмами данных в памяти.
Особенности:
- В 2-10 раз быстрее стандартных методов сжатия (gzip, bz2).
- Поддерживает многопоточность.
- Оптимизирован для работы с NumPy и Pandas.
⚙️ Установка 👇👇👇
pip install blosc
📁 Документация
#библиотеки
📌 Подпишись Python_Scripts ❗️
🔥7👍6❤3