Python_Scripts
8.22K subscribers
1.01K photos
5 videos
674 files
1.55K links
Скрипты 💾 на Python 🐍
- боты 🛠
- парсеры📁
- чекеры🔍
- автоматизация🔧
- многое другое💻

Ваши предложения📝 @cmd_dark @CMD_Vega
Download Telegram
📌 Индикатор накопления/распределения (A/D Line) для анализа тренда
Этот индикатор помогает определить, идёт ли цена вверх на реальном объёме, или движение искусственное и может скоро развернуться,используя публичное API Bybit👨‍💻
import requests
import time

# Константы
KLINE_URL = "https://api.bybit.com/v5/market/kline"
SYMBOL = "BTCUSDT"
CATEGORY = "spot"
INTERVAL = "15" # 15-минутные свечи
LIMIT = 50 # Количество свечей для анализа

def get_kline_data():
"""Получает исторические свечи (open, high, low, close, volume)"""
params = {"category": CATEGORY, "symbol": SYMBOL, "interval": INTERVAL, "limit": LIMIT}
response = requests.get(KLINE_URL, params=params)

if response.status_code == 200:
result = response.json().get("result", {}).get("list", [])

# Проверяем структуру ответа и корректно парсим данные
candles = []
for c in result:
try:
open_price = float(c[1])
high = float(c[2])
low = float(c[3])
close = float(c[4])
volume = float(c[5])
candles.append((open_price, high, low, close, volume))
except (ValueError, IndexError):
print(f"Ошибка обработки свечи: {c}")

return candles
else:
raise Exception(f"Ошибка API Kline: {response.status_code}, {response.text}")

def calculate_ad_line(candles):
"""Вычисляет линию накопления/распределения (A/D)"""
ad_line = 0
ad_values = []

for open_price, high, low, close, volume in candles:
if high != low:
money_flow_multiplier = ((close - low) - (high - close)) / (high - low)
else:
money_flow_multiplier = 0 # Защита от деления на ноль

money_flow_volume = money_flow_multiplier * volume
ad_line += money_flow_volume
ad_values.append(ad_line)

return ad_values

def detect_trend():
"""Анализ тренда на основе A/D Line"""
try:
print(f"Начинаем анализ {SYMBOL}...\n")
while True:
candles = get_kline_data()
if not candles:
print("Не удалось получить свечи, пробуем снова...")
time.sleep(30)
continue

ad_values = calculate_ad_line(candles)
current_price = candles[-1][3] # Цена закрытия последней свечи

ad_trend = "⬆️ Восходящий" if ad_values[-1] > ad_values[-2] else "⬇️ Нисходящий"

print(f"Цена: {current_price:.2f}, A/D Line: {ad_values[-1]:.2f}, Тренд: {ad_trend}")
print("-" * 40)

time.sleep(30) # Обновление каждые 30 секунд
except Exception as e:
print(f"Ошибка: {e}")

if __name__ == "__main__":
detect_trend()

📌 Подпишись  Python_Scripts❗️
3🔥11🤩53👍3
🚀 Полезные библиотеки Python

💾 Perfplot

📌 Библиотека Python, для удобного сравнения производительности различных реализаций кода.

Особенности:

- Визуализация результатов в виде графиков.

- Простая интеграция с NumPy.

- Хорошая альтернатива timeit с графическим выводом.

⚙️ Установка 👇👇👇

pip install perfplot


📁 Документация

#библиотеки

📌 Подпишись Python_Scripts ❗️
👍83
DexScreenerScrapper-main.zip
198.4 KB
📌 Скрипт парсер DexScreener

💻  ЯП:  Python 3.11+🐍
💾  Модули: bs4, requests, lxml, seleniumbase
📂  База данных: -

📌 Скрипт для парсинга данных с сайта DexScreener.com, по умолчанию собирает данные с первых двадцати страниц выдачи

📌 Вся информация приведена исключительно в ознакомительных целях❗️❗️❗️

#other

📌
Подпишись  Python_Scripts❗️
👍10🔥42🎉1
📌Определяем консолидацию цены — моменты, когда рынок сжимается перед возможным резким движением,используя публичное API Bybit👨‍💻
import requests

# Настройки
SYMBOL = "BTCUSDT"
KLINE_URL = "https://api.bybit.com/v5/market/kline"
INTERVAL = "15" # 15-минутные свечи
LIMIT = 10 # Количество свечей для анализа
THRESHOLD = 0.2 # Порог консолидации (% от средней цены)

def get_kline_data():
"""Получает исторические свечи"""
params = {"category": "spot", "symbol": SYMBOL, "interval": INTERVAL, "limit": LIMIT}
response = requests.get(KLINE_URL, params=params)

if response.status_code == 200:
return response.json().get("result", {}).get("list", [])
else:
print(f"Ошибка API: {response.status_code}")
return None

def analyze_consolidation():
"""Определяет узкие диапазоны консолидации"""
candles = get_kline_data()
if not candles:
return

prices = [float(c[4]) for c in candles] # Цены закрытия
high = max(prices)
low = min(prices)
avg_price = sum(prices) / len(prices)

range_pct = ((high - low) / avg_price) * 100

if range_pct < THRESHOLD:
print(f"🔎 Консолидация! Диапазон = {range_pct:.2f}% (Цена: {avg_price:.2f})")
else:
print(f" Нет консолидации. Диапазон = {range_pct:.2f}%")

if __name__ == "__main__":
analyze_consolidation()

📌 Подпишись  Python_Scripts❗️
2🔥12👍64
🚀 Полезные библиотеки Python

💾 Pydantic-extra-types

📌 Библиотека Python, расширение для Pydantic, добавляющее поддержку сложных типов данных, таких как IP-адреса, UUID, платежные карты, Bitcoin-адреса и др.

Особенности:

- Валидация номеров банковских карт и криптокошельков.

- Поддержка MAC-адресов, доменных имен и пр.

- Интеграция с Pydantic 2.0.

⚙️ Установка 👇👇👇

pip install pydantic-extra-types


📁 Документация

#библиотеки

📌 Подпишись Python_Scripts ❗️
👍82👏1
imei_bot-main.zip
6.4 KB
📌 Скрипт предоставляет информацию об устройстве по его imei

💻  ЯП:  Python 3.11+🐍
💾  Модули: python-telegram-bot, requests, sniffio
📂  База данных: sqlalchemy

📌 Скрипт Telegram-bot который по запросу пользователя выводит информацию об устройстве по его imei в формате json.

📌 Вся информация приведена исключительно в ознакомительных целях❗️❗️❗️

#telegram

📌
Подпишись  Python_Scripts❗️
👍74
📌Анализ импульсных движений — отслеживаеи сильные свечи, которые могут сигнализировать о начале тренда,используя публичное API Bybit👨‍💻
import requests

# Настройки
SYMBOL = "BTCUSDT"
KLINE_URL = "https://api.bybit.com/v5/market/kline"
INTERVAL = "15" # 15-минутные свечи
LIMIT = 20 # Количество свечей для анализа
IMPULSE_THRESHOLD = 1.5 # Порог (x раз больше среднего тела свечи)

def get_kline_data():
"""Получает исторические свечи"""
params = {"category": "spot", "symbol": SYMBOL, "interval": INTERVAL, "limit": LIMIT}
response = requests.get(KLINE_URL, params=params)

if response.status_code == 200:
return response.json().get("result", {}).get("list", [])
else:
print(f"Ошибка API: {response.status_code}")
return None

def analyze_impulse():
"""Определяет импульсные свечи"""
candles = get_kline_data()
if not candles:
return

# Вычисляем средний размер тела свечи
body_sizes = [abs(float(c[4]) - float(c[1])) for c in candles] # |Close - Open|
avg_body = sum(body_sizes) / len(body_sizes)

# Проверяем последнюю свечу
last_open = float(candles[-1][1])
last_close = float(candles[-1][4])
last_body = abs(last_close - last_open)

if last_body > avg_body * IMPULSE_THRESHOLD:
direction = "⬆️ Вверх" if last_close > last_open else "⬇️ Вниз"
print(f"🚀 Импульсное движение! {direction} (Тело свечи: {last_body:.2f}, Среднее: {avg_body:.2f})")
else:
print("📉 Нет сильного импульса.")

if __name__ == "__main__":
analyze_impulse()

📌 Подпишись  Python_Scripts❗️
👍8🔥63🎉2
🚀 Полезные библиотеки Python

💾 Hatch

📌 Библиотека Python, cовременный инструмент для управления пакетами, созданный как альтернатива Poetry и Pipenv.

Особенности:

- Упрощённое управление зависимостями и виртуальными окружениями.

- Встроенная поддержка PEP 621 (нового формата pyproject.toml).

- Автоматизация релизов и CI/CD.

⚙️ Установка 👇👇👇

pip install hatch


📁 Документация

#библиотеки

📌 Подпишись Python_Scripts ❗️
👍42🔥2
zeuc-uc-bot-master.zip
2 MB
📌 Скрипт оплата кейсов в PUBG

💻  ЯП:  Python 3.11+🐍
💾  Модули: fastapi, aiohttp
📂  База данных: postgresql

📌 Скрипт Telegram бот с мини приложением для оплаты кейсов в PUBG.

📌 Вся информация приведена исключительно в ознакомительных целях❗️❗️❗️

#telegram

📌
Подпишись  Python_Scripts❗️
👍93🔥1
📌Автоматическое определение разворотов рынка с помощью индикатора RSI (Relative Strength Index),используя публичное API Bybit👨‍💻
import requests
import numpy as np

# Настройки
SYMBOL = "BTCUSDT"
KLINE_URL = "https://api.bybit.com/v5/market/kline"
INTERVAL = "15" # 15-минутные свечи
LIMIT = 100 # Количество свечей для расчета
RSI_PERIOD = 14 # Длина RSI
OVERBOUGHT = 70 # Уровень перекупленности
OVERSOLD = 30 # Уровень перепроданности

def get_kline_data():
"""Получает исторические свечи"""
params = {"category": "spot", "symbol": SYMBOL, "interval": INTERVAL, "limit": LIMIT}
response = requests.get(KLINE_URL, params=params)

if response.status_code == 200:
return response.json().get("result", {}).get("list", [])
else:
print(f"Ошибка API: {response.status_code}")
return None

def calculate_rsi(prices, period=14):
"""Рассчитывает RSI"""
deltas = np.diff(prices)
gains = np.maximum(deltas, 0)
losses = np.abs(np.minimum(deltas, 0))

avg_gain = np.convolve(gains, np.ones(period) / period, mode='valid')
avg_loss = np.convolve(losses, np.ones(period) / period, mode='valid')

rs = avg_gain / (avg_loss + 1e-10)
rsi = 100 - (100 / (1 + rs))
return rsi

def analyze_rsi():
"""Анализирует рынок по RSI"""
candles = get_kline_data()
if not candles:
return

close_prices = np.array([float(c[4]) for c in candles])
rsi = calculate_rsi(close_prices, RSI_PERIOD)

if rsi[-1] > OVERBOUGHT:
print(f"🔥 RSI = {rsi[-1]:.2f} → Возможен разворот вниз (перекупленность)")
elif rsi[-1] < OVERSOLD:
print(f"🟢 RSI = {rsi[-1]:.2f} → Возможен разворот вверх (перепроданность)")
else:
print(f"📊 RSI = {rsi[-1]:.2f} → Нейтральная зона")

if __name__ == "__main__":
analyze_rsi()

📌 Подпишись  Python_Scripts❗️
🔥124👍4
🚀 Полезные библиотеки Python

💾 Snoop

📌 Библиотека Python,для отладки кода. Автоматически логирует выполнение строк кода, их аргументы и значения переменных.
Вывод в консоли будет включать информацию о вызовах функций и изменениях переменных.

Особенности:

- Подсвечивает код при выполнении.

- Показывает изменения переменных в реальном времени.

- Легко интегрируется в большие проекты.

⚙️ Установка 👇👇👇

pip install snoop


📁 Документация

#библиотеки

📌 Подпишись Python_Scripts ❗️
10👍6🔥1
Telebot-Games-Parser-main.zip
33.1 KB
📌 Скрипт парсер Steam

💻  ЯП:  Python 3.11+🐍
💾  Модули: bs4, lxml, requests, pyTelegramBotAPI
📂  База данных: -

📌 Скрипт Telegram бот находит самые дешевые ключи для Steam региона Россия, показывает раздачи бесплатных игр, выводит информацию о самых ожидаемых играх.

📌 Вся информация приведена исключительно в ознакомительных целях❗️❗️❗️

#telegram

📌
Подпишись  Python_Scripts❗️
1👍167🔥5
📌Автоматическое обнаружение пробоя уровней поддержки и сопротивления!

Этот скрипт:
Получает исторические свечи BTCUSDT
Определяет ключевые уровни поддержки и сопротивления
Выдает сигнал, если цена пробивает уровень

Используем публичное API Bybit👨‍💻
import requests
import numpy as np

# Настройки
SYMBOL = "BTCUSDT"
KLINE_URL = "https://api.bybit.com/v5/market/kline"
INTERVAL = "15" # 15-минутные свечи
LIMIT = 50 # Количество свечей для анализа
TOLERANCE = 0.002 # Допустимый разрыв (0.2%)

def get_kline_data():
"""Получает исторические свечи"""
params = {"category": "spot", "symbol": SYMBOL, "interval": INTERVAL, "limit": LIMIT}
response = requests.get(KLINE_URL, params=params)

if response.status_code == 200:
return response.json().get("result", {}).get("list", [])
else:
print(f"Ошибка API: {response.status_code}")
return None

def find_support_resistance(candles):
"""Определяет уровни поддержки и сопротивления"""
closes = np.array([float(c[4]) for c in candles])
highs = np.array([float(c[2]) for c in candles])
lows = np.array([float(c[3]) for c in candles])

support = np.min(lows)
resistance = np.max(highs)

return support, resistance

def detect_breakout():
"""Проверяет пробой уровней"""
candles = get_kline_data()
if not candles:
return

support, resistance = find_support_resistance(candles)
last_close = float(candles[-1][4])

if last_close >= resistance * (1 + TOLERANCE):
print(f"🚀 Пробой вверх! Цена {last_close:.2f} выше сопротивления {resistance:.2f}")
elif last_close <= support * (1 - TOLERANCE):
print(f"⚠️ Пробой вниз! Цена {last_close:.2f} ниже поддержки {support:.2f}")
else:
print(f"📊 Цена {last_close:.2f}, диапазон: {support:.2f} - {resistance:.2f} (без пробоя)")

if __name__ == "__main__":
detect_breakout()

📌 Подпишись  Python_Scripts❗️
🔥13👍64
🚀 Полезные библиотеки Python

💾 Pint

📌 Библиотека Python, для работы с физическими величинами и единицами измерения. Полезна для научных и инженерных вычислений.

Особенности:

- Автоматическое преобразование единиц измерения.

- Поддержка сложных вычислений с единицами.

- Интеграция с NumPy и Pandas.

⚙️ Установка 👇👇👇

pip install pint


📁 Документация

#библиотеки

📌 Подпишись Python_Scripts ❗️
7
shadowbot-main.zip
3.5 KB
📌 Скрипт авто продажа в Telegram

💻  ЯП:  Python 3.11+🐍
💾  Модули: aiogram
📂  База данных: aiosqlite

📌 Скрипт простой Telegram-бот, который позволяет пользователям покупать любые уникальные ключи, используя виртуальную валюту Telegram ⭐️.

📌 Вся информация приведена исключительно в ознакомительных целях❗️❗️❗️

#telegram

📌
Подпишись  Python_Scripts❗️
👍53
📌Автоматическое обнаружение пробоя уровней поддержки и сопротивления.
Доработка:
Фильтрация ложных пробоев с помощью индекса волатильности ATR (Average True Range).

Используем публичное API Bybit👨‍💻
import requests
import numpy as np

# Настройки
SYMBOL = "BTCUSDT"
KLINE_URL = "https://api.bybit.com/v5/market/kline"
INTERVAL = "15" # 15-минутные свечи
LIMIT = 100 # Количество свечей для анализа (для ATR)
ATR_PERIOD = 14 # Период ATR
BREAKOUT_MULTIPLIER = 1.5 # Насколько цена должна превысить ATR для подтвержденного пробоя

def get_kline_data():
"""Получает исторические свечи"""
params = {"category": "spot", "symbol": SYMBOL, "interval": INTERVAL, "limit": LIMIT}
response = requests.get(KLINE_URL, params=params)

if response.status_code == 200:
return response.json().get("result", {}).get("list", [])
else:
print(f"Ошибка API: {response.status_code}")
return None

def calculate_atr(candles, period=ATR_PERIOD):
"""Рассчитывает ATR (средний истинный диапазон)"""
highs = np.array([float(c[2]) for c in candles])
lows = np.array([float(c[3]) for c in candles])
closes = np.array([float(c[4]) for c in candles])

prev_closes = np.roll(closes, shift=1) # Смещаем массив на 1 (добавится дубликат первого элемента)
prev_closes[0] = closes[0] # Убираем лишнее смещение

tr = np.maximum(highs - lows, np.maximum(abs(highs - prev_closes), abs(lows - prev_closes)))
atr = np.convolve(tr, np.ones(period) / period, mode='valid')

return atr[-1] # Берем последнее значение ATR

def find_support_resistance(candles):
"""Определяет уровни поддержки и сопротивления"""
highs = np.array([float(c[2]) for c in candles])
lows = np.array([float(c[3]) for c in candles])

support = np.min(lows)
resistance = np.max(highs)

return support, resistance

def detect_breakout():
"""Проверяет пробой уровней с фильтрацией по ATR"""
candles = get_kline_data()
if not candles:
return

support, resistance = find_support_resistance(candles[-50:]) # Берем последние 50 свечей
last_close = float(candles[-1][4])
atr = calculate_atr(candles)

breakout_threshold = atr * BREAKOUT_MULTIPLIER # Минимальный разрыв для подтверждения пробоя

if last_close >= resistance + breakout_threshold:
print(f"🚀 Подтвержденный пробой вверх! Цена {last_close:.2f} выше сопротивления {resistance:.2f} (ATR {atr:.2f})")
elif last_close <= support - breakout_threshold:
print(f"⚠️ Подтвержденный пробой вниз! Цена {last_close:.2f} ниже поддержки {support:.2f} (ATR {atr:.2f})")
else:
print(f"📊 Цена {last_close:.2f}, диапазон: {support:.2f} - {resistance:.2f} (без пробоя)")

if __name__ == "__main__":
detect_breakout()

📌 Подпишись  Python_Scripts❗️
🔥9👍53
🚀 Полезные библиотеки Python

💾 PyInfra

📌 Библиотека Python, для управления конфигурацией серверов и развертывания приложений с использованием простого Python-кода вместо громоздких YAML-файлов.

Особенности:

- Позволяет управлять серверами с использованием чистого Python.

- Работает без агентов на удалённых машинах.

- Поддерживает параллельное выполнение команд.

⚙️ Установка 👇👇👇

pip install pyinfra


📁 Документация

#библиотеки

📌 Подпишись Python_Scripts ❗️
👍82
pump-not-fun-main.zip
81.7 KB
📌 Скрипт покупка токенов

💻  ЯП:  Python 3.11+🐍
💾  Модули: aiohttp, solana, fastapi, pyrotgfork
📂  База данных: sqlalchemy

📌 Скрипт Telegram бот для автоматизации анализа и покупки токенов в сети Sol по сигналам из выбранных вами телеграм-каналов(перехватывайте сообщения из выбранных чатов Telegram (групп, каналов и т. д.))

📌 Вся информация приведена исключительно в ознакомительных целях❗️❗️❗️

#telegram

📌
Подпишись  Python_Scripts❗️
11👍6🔥4
📌Aнализ аномалий с помощью Z-Score.
Почему это полезно?
Фильтрует шум — игнорирует обычные колебания
Выявляет сильные движения — можно использовать в стратегиях
Просто и быстро — нет сложных вычислений
Используем публичное API Bybit👨‍💻
import requests
import numpy as np

# Настройки
SYMBOL = "BTCUSDT"
KLINE_URL = "https://api.bybit.com/v5/market/kline"
INTERVAL = "15" # 15-минутные свечи
LIMIT = 100 # Количество свечей

def get_kline_data():
"""Получает исторические свечи"""
params = {"category": "spot", "symbol": SYMBOL, "interval": INTERVAL, "limit": LIMIT}
response = requests.get(KLINE_URL, params=params)

if response.status_code == 200:
return response.json().get("result", {}).get("list", [])
else:
print(f"Ошибка API: {response.status_code}")
return None

def detect_anomalies():
"""Анализ аномальных движений"""
candles = get_kline_data()
if not candles:
return

closes = np.array([float(c[4]) for c in candles])
returns = np.diff(closes) # Вычисляем разницу между свечами

mean = np.mean(returns)
std = np.std(returns)
z_scores = (returns - mean) / std # Z-оценка для каждого изменения

threshold = 3 # Граница аномалий
anomalies = np.where(abs(z_scores) > threshold)[0]

for idx in anomalies:
move = "🚀 Резкий рост" if z_scores[idx] > 0 else "⚠️ Резкое падение"
print(f"{move}: Свеча {idx+1}, Изменение: {returns[idx]:.2f}, Z-Score: {z_scores[idx]:.2f}")

if __name__ == "__main__":
detect_anomalies()

📌 Подпишись  Python_Scripts❗️
1🔥10👍41
🚀 Полезные библиотеки Python

💾 Scalene

📌 Библиотека Python, высокопроизводительный профилировщик, который анализирует загрузку процессора, потребление памяти и влияние глобальной блокировки интерпретатора (GIL) на выполнение кода.

Особенности:

- Анализирует выполнение кода на уровне строк.

- Показывает, какие части кода выполняются в GIL.

- Отлично подходит для оптимизации производительности Python-программ.

⚙️ Установка 👇👇👇

pip install scalene


📁 Документация

#библиотеки

📌 Подпишись Python_Scripts ❗️
👍43
🖥 Наконец-то нормальный канал по Python!

PytStart – для каждого питониста!

🔸 Полезные статьи
🔸 Лайфхаки и советы
🔸 Разбор кода и практические задания

Присоединяйся и начни свой путь в Python уже сегодня: @pytstart
Please open Telegram to view this post
VIEW IN TELEGRAM
👍124🔥3