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

Ваши предложения📝 @cmd_dark @CMD_Vega
Download Telegram
📌 Проверка торговых стратегий на исторических данных Bybit, используя их API.👨‍💻
import requests
import pandas as pd

# Конфигурация
SYMBOL = "BTCUSDT"
INTERVAL = "60" # Таймфрейм (в минутах)
LIMIT = 200 # Количество свечей

# Функция загрузки данных
def get_historical_data(symbol, interval, limit):
url = f"https://api.bybit.com/v5/market/kline?category=linear&symbol={symbol}&interval={interval}&limit={limit}"

try:
response = requests.get(url)
response.raise_for_status()
data = response.json()

if "result" in data and "list" in data["result"]:
df = pd.DataFrame(data["result"]["list"], columns=["open_time", "open", "high", "low", "close", "volume", "turnover"])
df["open_time"] = pd.to_datetime(pd.to_numeric(df["open_time"]), unit="ms") # Исправлено
df[["open", "high", "low", "close", "volume"]] = df[["open", "high", "low", "close", "volume"]].astype(float)

df = df.sort_values(by="open_time", ascending=True) # Добавлено
return df
else:
print("[ERROR] Пустой ответ API Bybit.")
return None
except requests.exceptions.RequestException as e:
print(f"[ERROR] Ошибка запроса: {e}")
return None

# Стратегия SMA (пересечение средних)
def apply_strategy(df):
df["SMA_10"] = df["close"].rolling(window=10).mean()
df["SMA_50"] = df["close"].rolling(window=50).mean()

df["Signal"] = 0
df.loc[df["SMA_10"] > df["SMA_50"], "Signal"] = 1 # Покупка
df.loc[df["SMA_10"] < df["SMA_50"], "Signal"] = -1 # Продажа

return df

# Основной код
print("[INFO] Загружаем данные...")
df = get_historical_data(SYMBOL, INTERVAL, LIMIT)

if df is not None:
print("[INFO] Данные загружены. Применяем стратегию...")
df = apply_strategy(df)
print(df[["open_time", "close", "SMA_10", "SMA_50", "Signal"]].dropna().tail(20))
else:
print("[ERROR] Не удалось получить данные.")

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

💾 Pypeln

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

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

- Простая многопоточная и многопроцессорная обработка данных.

- Интуитивный API, похожий на map и filter.

- Поддержка асинхронных задач (asyncio).

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

pip install pypeln


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

#библиотеки

📌 Подпишись Python_Scripts ❗️
👍4🔥21
utube-master.zip
964.1 KB
📌 Скрипт загрузка видео в ваш YouTube канал

💻  ЯП:  Python 3.11+🐍
💾  Модули: pyrogram, google-api-python- client
📂  База данных: -

📌 Скрипт Telegram бот для автоматизации выгрузки видео в ваши YouTube канал.

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

#telegram #youtube

📌
Подпишись  Python_Scripts❗️
👍133
📌 Smart Order Routing для BTC/USDT👨‍💻

Функционал скрипта:

1. Запрашивает лучшие цены покупки (bid) и продажи (ask) на Bybit и Binance через REST API.

2. Сравнивает полученные данные и выбирает биржу с наилучшей ценой.

3. Выводит рекомендации, где лучше купить или продать.

import ccxt
import time

# Подключение к биржам
bybit = ccxt.bybit()
binance = ccxt.binance()

SYMBOL = "BTC/USDT"

def get_prices():
prices = {}

try:
bybit_ticker = bybit.fetch_ticker(SYMBOL)
prices["Bybit"] = {
"bid": bybit_ticker["bid"],
"ask": bybit_ticker["ask"]
}
except Exception as e:
print(f"[ERROR] Ошибка получения данных с Bybit: {e}")

try:
binance_ticker = binance.fetch_ticker(SYMBOL)
prices["Binance"] = {
"bid": binance_ticker["bid"],
"ask": binance_ticker["ask"]
}
except Exception as e:
print(f"[ERROR] Ошибка получения данных с Binance: {e}")

return prices

def find_best_route():
prices = get_prices()

if not prices or len(prices) < 2:
print("[WARN] Недостаточно данных для расчета арбитража.")
return

best_buy = min(prices, key=lambda x: prices[x]["ask"])
best_sell = max(prices, key=lambda x: prices[x]["bid"])

buy_price = prices[best_buy]["ask"]
sell_price = prices[best_sell]["bid"]

print("\n📊 **Текущие цены на биржах:**")
for exchange, data in prices.items():
print(f" - {exchange}: Bid = {data['bid']} USDT | Ask = {data['ask']} USDT")

print("\n📌 **Рекомендация:**")
if best_buy != best_sell:
profit = sell_price - buy_price
print(f" **Купить на {best_buy} за {buy_price:.2f} USDT**")
print(f" **Продать на {best_sell} за {sell_price:.2f} USDT**")
print(f"📈 **Возможная прибыль: {profit:.2f} USDT**")
else:
print(" Разница цен недостаточна для арбитража.")

if __name__ == "__main__":
while True:
print("\n[INFO] Поиск лучшей цены...")
find_best_route()
time.sleep(10) # Обновление каждые 10 секунд

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

💾 CCXT

📌 Библиотека Python, для работы с API более 100 криптовалютных бирж. Она позволяет получать рыночные данные, управлять ордерами и автоматизировать торговые стратегии.

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

- Поддержка 100+ бирж, включая Binance, Kraken, Coinbase, Bybit, KuCoin.

- Унифицированный API — одинаковые методы для всех бирж.

- Работа с публичными и приватными API (торговля, управление балансом, исторические данные).

- Поддержка WebSocket для потокового получения данных (через ccxt.pro).

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

pip install ccxt

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

#библиотеки

📌 Подпишись Python_Scripts ❗️
👍12🔥52
Dex-Scraper-main.zip
6.2 KB
📌 Скрипт DexScreener парсер

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

📌 Скрипт Telegram бот, который который автоматически извлекает данные токена, ссылки на соцсети - Twitter и Telegram из DexScreener.

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

#telegram

📌
Подпишись  Python_Scripts❗️
👍73🔥1
📌 Автоматический анализ волатильности криптовалют с использованием ccxt

Этот скрипт анализирует волатильность криптовалют на бирже Binance (или другой, поддерживаемой ccxt). Он помогает определить самые волатильные активы, что полезно для скальпинга, арбитража и высокочастотной торговли.

🔥 Как это поможет трейдеру?

Скальпинг – находите монеты с высокой волатильностью.

Адаптация – можно встроить в бота для торговли на пробой или контртренд.

Риск-менеджмент – понимание волатильности помогает определять размер стоп-лосса.

import ccxt
import pandas as pd
import time

# Инициализация Binance API
exchange = ccxt.binance()

# Параметры анализа
SYMBOLS = ["BTC/USDT", "ETH/USDT", "BNB/USDT", "SOL/USDT", "XRP/USDT"]
TIMEFRAME = "1h" # Таймфрейм (можно поменять)
LIMIT = 50 # Количество свечей

def fetch_data(symbol, timeframe, limit):
""" Получает исторические данные """
try:
ohlcv = exchange.fetch_ohlcv(symbol, timeframe, limit=limit)
df = pd.DataFrame(ohlcv, columns=["timestamp", "open", "high", "low", "close", "volume"])
df["timestamp"] = pd.to_datetime(df["timestamp"], unit="ms")
return df
except Exception as e:
print(f"[ERROR] Ошибка загрузки данных {symbol}: {e}")
return None

def calculate_volatility(df):
""" Вычисляет волатильность """
df["range"] = df["high"] - df["low"] # Размах свечи
df["atr"] = df["range"].rolling(window=14).mean() # ATR (средний размах)
df["std_dev"] = df["close"].rolling(window=14).std() # Стандартное отклонение
return df

def main():
print("[INFO] Анализ волатильности активов...")

results = []

for symbol in SYMBOLS:
df = fetch_data(symbol, TIMEFRAME, LIMIT)
if df is not None:
df = calculate_volatility(df)
latest = df.iloc[-1]
results.append({
"symbol": symbol,
"last_price": latest["close"],
"range": latest["range"],
"atr": latest["atr"],
"std_dev": latest["std_dev"]
})

# Сортировка по ATR (самые волатильные активы в топе)
df_results = pd.DataFrame(results).sort_values(by="atr", ascending=False)
print("\n[RESULTS] Топ волатильных активов:\n")
print(df_results)

if __name__ == "__main__":
main()

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

💾 Zict

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

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

- Поддержка кэширования в памяти (LRU, LFU) и на диске.

- Интеграция с Dask, NumPy и другими вычислительными библиотеками.

- Гибкость – можно комбинировать разные стратегии хранения.

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

pip install zict


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

#библиотеки

📌 Подпишись Python_Scripts ❗️
👍72🔥1
avitoOption-main.zip
61.9 KB
📌 Скрипт парсер Avito

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

📌 Скрипт гибкий и мощный парсер объявлений Avito, который поддерживает мониторинг, работу через прокси, отправку данных в Telegram, выбор категорий и сохранение информации в JSON/XLSX.

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

#telegram #other

📌
Подпишись  Python_Scripts❗️
👍21🔥43😁3
📌 Анализ дисбаланса лимитных заявок в стакане (Order Book)

🔹 В чем польза?

✔️ Помогает определять рыночные манипуляции (например, фиктивные крупные заявки)
✔️ Полезен для скальпинга и внутридневной торговли – можно находить зоны ликвидности
✔️ Автоматизированный анализ стакана ордеров в реальном времени

import ccxt
import time

# Используем биржи Binance и Bybit
exchanges = {
"binance": ccxt.binance(),
"bybit": ccxt.bybit(),
}

SYMBOL = "BTC/USDT"
ORDER_BOOK_DEPTH = 20 # Глубина стакана ордеров
IMBALANCE_THRESHOLD = 1.5 # Порог дисбаланса (в 1.5 раза больше заявок на одной стороне)

def fetch_order_book(exchange, symbol, depth):
"""Получает данные о стакане ордеров"""
try:
order_book = exchange.fetch_order_book(symbol, limit=depth)
return order_book
except Exception as e:
print(f"[ERROR] Ошибка получения стакана с {exchange.name}: {e}")
return None

def analyze_imbalance(order_book):
"""Анализирует дисбаланс в стакане"""
if order_book is None:
return None

total_bids = sum([bid[1] for bid in order_book["bids"]]) # Общий объем заявок на покупку
total_asks = sum([ask[1] for ask in order_book["asks"]]) # Общий объем заявок на продажу

if total_bids / total_asks > IMBALANCE_THRESHOLD:
return "[🚀 ALERT] Дисбаланс в пользу покупателей!"
elif total_asks / total_bids > IMBALANCE_THRESHOLD:
return "[⚠️ ALERT] Дисбаланс в пользу продавцов!"
else:
return "[INFO] Дисбаланс отсутствует."

def main():
print("[INFO] Запуск мониторинга дисбаланса ордеров...")

while True:
for name, exchange in exchanges.items():
print(f"[INFO] Анализ стакана ордеров на {name}...")
order_book = fetch_order_book(exchange, SYMBOL, ORDER_BOOK_DEPTH)

imbalance_alert = analyze_imbalance(order_book)
if imbalance_alert:
print(f"{name}: {imbalance_alert}")

print("[INFO] Ожидание 10 секунд перед следующим анализом...")
time.sleep(10)

if __name__ == "__main__":
main()

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

💾 SeleniumBase

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

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

- Автоматизация тестирования без сложной настройки.

- Гибкие инструменты для взаимодействия с веб-страницами.

- Встроенная поддержка записи тестов и скриншотов.

- Поддержка работы с динамическим JavaScript-контентом.

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

pip install seleniumbase


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

#библиотеки

📌 Подпишись Python_Scripts ❗️
👍83
AnonChat_2.0-master.zip
24.7 KB
📌 Скрипт анонимный чат

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

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

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

#telegram

📌
Подпишись  Python_Scripts❗️
👍85🔥3
📌 Автоматический мониторинг разницы между Spot и Futures ценами (Basis Trading)


🔹 В чем польза?

✔️ Определяет арбитражные возможности – можно зарабатывать на разнице цен

✔️ Отслеживает перекос в рыночных ожиданиях – сигнализирует о возможном тренде

✔️ Полезен для фьючерсных стратегий (контанго, бэквордейшн)

import ccxt
import time

# Подключаемся к Binance
binance_spot = ccxt.binance()
binance_futures = ccxt.binance({'options': {'defaultType': 'future'}})

SYMBOL_SPOT = "BTC/USDT" # Спотовый рынок
SYMBOL_FUTURES = "BTC/USDT" # Фьючерсный рынок
BASIS_THRESHOLD = 0.5 # Порог аномальной разницы в %

def fetch_price(exchange, symbol):
"""Получает текущую цену актива"""
try:
ticker = exchange.fetch_ticker(symbol)
return ticker["last"]
except Exception as e:
print(f"[ERROR] Ошибка получения цены {symbol} с {exchange.name}: {e}")
return None

def monitor_basis():
"""Мониторинг разницы между спотовой и фьючерсной ценой"""
print("[INFO] Запуск мониторинга Basis Trading...")

while True:
spot_price = fetch_price(binance_spot, SYMBOL_SPOT)
futures_price = fetch_price(binance_futures, SYMBOL_FUTURES)

if spot_price and futures_price:
basis = ((futures_price - spot_price) / spot_price) * 100 # Разница в %

print(f"[INFO] Spot: {spot_price:.2f} | Futures: {futures_price:.2f} | Basis: {basis:.2f}%")

if abs(basis) > BASIS_THRESHOLD:
print(f"[⚠️ ALERT] Аномальная разница цен! Basis = {basis:.2f}%")

time.sleep(10) # Ждем 10 секунд перед следующим анализом

if __name__ == "__main__":
monitor_basis()

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

💾 Helium

📌 Библиотека Python, делающая Selenium более удобным и интуитивно понятным. Позволяет автоматизировать тестирование и взаимодействие с веб-страницами с минимальным количеством кода.

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

- Автоматически ищет элементы по тексту (без CSS-селекторов).

- Поддерживает работу с Chrome и Firefox.

- Простые команды click(), write(), press() без лишнего кода.

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

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

pip install helium


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

#библиотеки

📌 Подпишись Python_Scripts ❗️
1👍95
xray-proxy-grabber-telegram-master.zip
14.9 MB
📌 Скрипт сборщик проксей

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

📌 Скрипт для получение свежих прокси из каналов Telegram и их тестирование с помощью пинга с реальной задержкой.
Бот будет прослушивать предоставленные каналы (даже приватные), затем анализировать новые прокси и записывать их.

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

#telegram

📌
Подпишись  Python_Scripts❗️
👍10🔥43
📌 Автоматическое определение тренда на основе объема торгов


🔹 В чем польза?

✔️ Ранние сигналы тренда – рост объема часто предвещает движение цены
✔️ Фильтрация ложных движений – помогает избежать входа в слабые тренды
✔️ Применимо к любой стратегии – можно адаптировать для разных таймфреймов

import ccxt
import pandas as pd
import time

# Подключение к Binance
exchange = ccxt.binance()

SYMBOL = "BTC/USDT" # Торгуемый инструмент
TIMEFRAME = "5m" # Таймфрейм (5 минут)
LIMIT = 50 # Количество свечей
VOLUME_THRESHOLD = 1.5 # Коэффициент аномального объема

def fetch_ohlcv(symbol, timeframe, limit):
"""Получает исторические данные свечей"""
try:
data = exchange.fetch_ohlcv(symbol, timeframe, limit=limit)
df = pd.DataFrame(data, columns=["timestamp", "open", "high", "low", "close", "volume"])
return df
except Exception as e:
print(f"[ERROR] Ошибка загрузки данных: {e}")
return None

def analyze_volume(df):
"""Анализ объема на всплески"""
df["SMA_Volume"] = df["volume"].rolling(window=10).mean() # Средний объем за 10 свечей
df["Volume_Change"] = df["volume"] / df["SMA_Volume"]

# Фильтр аномальных всплесков объема
spike_df = df[df["Volume_Change"] > VOLUME_THRESHOLD]

return spike_df

def monitor_trend():
"""Мониторинг аномального объема"""
print("[INFO] Запуск анализа объемов...")

while True:
df = fetch_ohlcv(SYMBOL, TIMEFRAME, LIMIT)

if df is not None:
spikes = analyze_volume(df)

if not spikes.empty:
print(f"[⚠️ ALERT] Найдены аномальные всплески объема!")
print(spikes[["timestamp", "close", "volume", "SMA_Volume", "Volume_Change"]].tail(3))

time.sleep(30) # Запрос каждые 30 секунд

if __name__ == "__main__":
monitor_trend()

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

💾 Autopy

📌 Библиотека Python, автоматизации действий на компьютере, таких как перемещение мыши, нажатие клавиш, захват экрана и работа с пикселями. Полезна для создания ботов, автоматизации рутинных задач и тестирования GUI.

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

- Позволяет управлять клавиатурой, мышью и экраном.

- Лёгкая и удобная альтернатива pyautogui.

- Работает на Windows, macOS и Linux.

- Полезна для автоматизации рутины, создания ботов и тестирования GUI.

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

pip install autopy


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

#библиотеки

📌 Подпишись Python_Scripts ❗️
👍154
ds-main.zip
22 KB
📌 Скрипт спамер

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

📌 Скрипт Telegram бот для рассылки спама в несколько групп с установленными задержками.

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

#telegram

📌
Подпишись  Python_Scripts❗️
🔥43👍2👏2😁1🎉1
📌 Анализ рыночного спреда для поиска выгодных торговых условий( между покупкой и продажей)

🔹 В чем польза?

✔️ Поиск ликвидных пар – снижает издержки на спредах
✔️ Оптимизация торговли – отлично подходит для скальпинга
✔️ Можно адаптировать – добавить отбор по объему, волатильности и ликвидности

import ccxt
import pandas as pd

# Подключение к Binance
exchange = ccxt.binance()

def fetch_spread():
"""Получает спред для всех торговых пар на Binance"""
try:
tickers = exchange.fetch_tickers()
spread_data = []

for symbol, ticker in tickers.items():
if 'bid' in ticker and 'ask' in ticker and ticker["bid"] and ticker["ask"]:
spread = (ticker["ask"] - ticker["bid"]) / ticker["bid"] * 100 # В %
spread_data.append([symbol, ticker["bid"], ticker["ask"], spread])

df = pd.DataFrame(spread_data, columns=["Symbol", "Bid Price", "Ask Price", "Spread (%)"])
return df.sort_values(by="Spread (%)") # Сортируем по спреду

except Exception as e:
print(f"[ERROR] Ошибка при получении данных: {e}")
return None

def main():
"""Основной процесс мониторинга спредов"""
print("[INFO] Анализ спредов на Binance...")

df = fetch_spread()
if df is not None:
print("\n🔍 **ТОП-10 пар с минимальным спредом:**")
print(df.head(10)) # Выводим 10 лучших пар с низким спредом

if __name__ == "__main__":
main()

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

💾 PyGetWindow

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

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

- Управление окнами любых приложений.

- Возможность фокусировки, перемещения и изменения размеров окон.

- Работает на Windows, macOS и Linux.

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

pip install PyGetWindow


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

#библиотеки

📌 Подпишись Python_Scripts ❗️
14🔥3👍2